Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
发布时间:2016-12-30 来源:查字典编辑
摘要:下面就来详细说一说Javascript中Boolean、Nnumber、String强制类型转换的区别。我们知道Boolean(value)...

下面就来详细说一说 Javascript 中 Boolean、Nnumber、String 强制类型转换的区别。

我们知道 Boolean(value) 是把值转换成Boolean类型,Nnumber(value) 是把值转换成数字(整型或浮点数),而 String(value) 是把值转换成字符串。

先来分析下Boolean,Boolean在转换值为“至少有一字符的字符串”、“非0的数字”或“对象”的情况下返回true;在转换值为“空字符串”、“数字0”、“undefined”,“null”的情况下返回false。

例如:

复制代码 代码如下:

var b1 = Boolean("");//返回false,空字符串

var b2 = Boolean("s");//返回true,非空字符串

var b3 = Boolean(0);//返回false,数字0

var b4 = Boolean(1);//返回true,非0数字

var b5 = Boolean(-1);//返回true,非0数字

var b6 = Boolean(null);//返回false

var b7 = Boolean(undefined);//返回false

var b8 = Boolean(new Object());//返回true,对象

接下来分析Number,Number与parseInt和parseFloat类似,区别在于Number转换的是整个值,而parseInt和parseFloat则可以只转换开头的数字部分。

例如:

Number(“1.2.3″),Number(“123abc”)会返回NaN,而parseInt(“1.2.3″)返回1、parseInt(“123abc”)返回123、parseFloat(“1.2.3″)返回1.2、ParseFloat(“123abc”)返回123。

Number会先判断要转换的值能否被完整的转换,然后再判断是调用parseInt或parseFloat。

下面列了一些值调用Number后的结果:

复制代码 代码如下:

Number(false) //返回0

Number(true) //返回1

Number(undefined) //返回NaN

Number(null) //返回0

Number("1.2") //返回1.2

Number("12") //返回12

Number("1.2.3") //返回NaN

Number(new Object()) //返回NaN

Number(123) //返回123

最后来分析String,String可以把所有类型的数据转换成字符串,例如:String(false)的结果为”false”,String(1)的结果为”1″。它和toString方法有些不同,区别如下:

复制代码 代码如下:

var s1 = null;

var s2 = String(t1);//s2的值是 "null"

var s3 = s1.toString();//会报错

var s4;

var s5 = String(t4);//s5的值是 "undefined"

var s6 = t4.toString();//会报错

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类