时间:2021-05-18
目录:
1 : 伪对象
2 : 转换为字符串
3 : 数字转字符串
4 : 转换为数字
5 : 转换为Boolean
6 : Number()和parseInt()的区别
7 : String()和toString()的区别
1 : 伪对象
伪对象:javascript是一门很有意思的语言,即便是基本类型,也是伪对象,所以他们都有属性和方法。
变量a的类型是字符串,通过调用其为伪对象的属性length获取其长度 。
运行效果:
变量a的类型是:string
变量a的长度是:16
2 : 转换为字符串
无论是Number,Boolean还是String都有一个toString方法,用于转换为字符串
运行效果:
数字 10 转换为字符串10
布尔 true 转换为字符串true
字符串 hello javascript 转换为字符串 hello javascript
3 : 数字转字符串
Number转换为字符串的时候有默认模式和基模式两种
<script> var a=10; document.write('默认模式下,数字10转换为十进制的'+a.toString()); //默认模式,即十进制 document.write("<br>"); document.write('基模式下,数字10转换为二进制的'+a.toString(2)); //基模式,二进制 document.write("<br>"); document.write('基模式下,数字10转换为八进制的'+a.toString(8)); //基模式,八进制 document.write("<br>"); document.write('基模式下,数字10转换为十六进制的'+a.toString(16)); //基模式,十六进制 document.write("<br>"); </script>运行效果:
默认模式下,数字10转换为十进制的10
基模式下,数字10转换为二进制的1010
基模式下,数字10转换为八进制的12
基模式下,数字10转换为十六进制的a
4 : 转换为数字
javascript分别提供内置函数 parseInt()和parseFloat(),转换为数字
注:如果被转换的字符串,同时又数字和字符构成,那么parseInt会一直定位数字,直到出现非字符。 所以"10abc" 会被转换为 10
思考题: 字符串"10abc8" 又会被转换为多少呢?
<script> document.write("字符串的\"10\"转换为数字的:"+parseInt("10")); //转换整数 document.write("<br>"); document.write("字符串的\"3.14\"转换为数字的:"+parseFloat("444 3.14"));//转换浮点数 document.write("<br>"); document.write("字符串的\"10abc\"转换为数字的:"+parseInt("10abc")); //判断每一位,直到发现不是数字的那一位 document.write("<br>"); document.write("字符串的\"hello javascript\"转换为数字的:"+parseInt("h5555ello javascript")); //如果完全不包含数字,则返回NaN - Not a Number document.write("<br>");</script>运行效果:
字符串的"10"转换为数字的:10
字符串的"3.14"转换为数字的:444
字符串的"10abc"转换为数字的:10
字符串的"hello javascript"转换为数字的:NaN
5 : 转换为Boolean
使用内置函数Boolean() 转换为Boolean值
当转换字符串时:
非空即为true
当转换数字时:
非0即为true
当转换对象时:
非null即为true
运行效果:
空字符串''转换为布尔后的值:false
非空字符'hello javascript '串转换为布尔后的值:true
数字 0 转换为布尔后的值:false
数字 3.14 转换为布尔后的值:true
空对象 null 转换为布尔后的值:false
非对象 new Object() 转换为布尔后的值:true
6 : Number()和parseInt()的区别
Number()和parseInt()一样,都可以用来进行数字的转换
区别在于,当转换的内容包含非数字的时候,Number() 会返回NaN(Not a Number)
parseInt() 要看情况,如果以数字开头,就会返回开头的合法数字部分,如果以非数字开头,则返回NaN
运行效果:
通过Number() 函数转换字符串'123' 后得到的数字:123
通过Number() 函数转换字符串'123abc' 后得到的数字:NaN
通过Number() 函数转换字符串'abc123' 后得到的数字:NaN
通过parseInt() 函数转换字符串'123' 后得到的数字:123
通过parseInt() 函数转换字符串'123abc' 后得到的数字:123
通过parseInt() 函数转换字符串'abc123' 后得到的数字:NaN
7 : String()和toString()的区别
String()和toString()一样都会返回字符串,区别在于对null的处理
String()会返回字符串"null"
toString() 就会报错,无法执行
运行效果:
String(null) 把空对象转换为字符串:null
null.toString() 就会报错,所以后面的代码不能执行
以上就是小编为大家带来的老生常谈javascript的类型转换全部内容了,希望大家多多支持~
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言javascript中的this,constructor,prototype,都是老生常谈的问题,深入理解他们的含义至关重要。在这里,我们再来复习一下吧,温
老生常谈的配置但是还是需要说明一下EurekaApplication@EnableEurekaServer指定为server端@EnableEurekaServ
本文实例讲述了JavaScript异步操作的几种常见处理方法。分享给大家供大家参考,具体如下:引言js的异步操作,已经是一个老生常谈的话题,关于这个话题的文章随
行列转换是一个老生常谈的问题,这几天逛知乎有遇到了这个问题。一个前端说,拿到的数据是单列的需要做转换才能够绑定,折腾了好久才搞定,还说这个应该后端直接出数据,不
原文首发于知乎:https://www.zhihu.com/question/41638271/answer/493551513这个问题是最老生常谈的问题,每个