Heim  >  Artikel  >  Web-Frontend  >  Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍_基础知识

Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍_基础知识

WBOY
WBOYOriginal
2016-05-16 17:46:341145Durchsuche

下面就来详细说一说 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();//会报错
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn