zl程序教程

您现在的位置是:首页 >  其它

当前栏目

JavascriptBoolean、Nnumber、String强制类型转换的区别详细介绍

string 详细 介绍 区别 强制 类型转换
2023-06-13 09:14:42 时间
下面就来详细说一说Javascript中Boolean、Nnumber、String强制类型转换的区别。
我们知道Boolean(value)是把值转换成Boolean类型,Nnumber(value)是把值转换成数字(整型或浮点数),而String(value)是把值转换成字符串。

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

varb1=Boolean("");//返回false,空字符串
varb2=Boolean("s");//返回true,非空字符串
varb3=Boolean(0);//返回false,数字0
varb4=Boolean(1);//返回true,非0数字
varb5=Boolean(-1);//返回true,非0数字
varb6=Boolean(null);//返回false
varb7=Boolean(undefined);//返回false
varb8=Boolean(newObject());//返回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(newObject())//返回NaN
Number(123)//返回123

最后来分析String,String可以把所有类型的数据转换成字符串,例如:String(false)的结果为”false”,String(1)的结果为”1″。它和toString方法有些不同,区别如下:
复制代码代码如下:
vars1=null;
vars2=String(t1);//s2的值是"null"
vars3=s1.toString();//会报错
vars4;
vars5=String(t4);//s5的值是"undefined"
vars6=t4.toString();//会报错