Javascript Boolean、Nnumber、String 強(qiáng)制類型轉(zhuǎn)換的區(qū)別詳細(xì)介紹
更新時(shí)間:2012年12月13日 16:26:43 作者:
我們知道 Boolean(value) 是把值轉(zhuǎn)換成Boolean類型,Nnumber(value) 是把值轉(zhuǎn)換成數(shù)字(整型或浮點(diǎn)數(shù)),而 String(value) 是把值轉(zhuǎn)換成字符串,需要的朋友可以了解下
下面就來詳細(xì)說一說 Javascript 中 Boolean、Nnumber、String 強(qiáng)制類型轉(zhuǎn)換的區(qū)別。
我們知道 Boolean(value) 是把值轉(zhuǎn)換成Boolean類型,Nnumber(value) 是把值轉(zhuǎn)換成數(shù)字(整型或浮點(diǎn)數(shù)),而 String(value) 是把值轉(zhuǎn)換成字符串。
先來分析下Boolean,Boolean在轉(zhuǎn)換值為“至少有一字符的字符串”、“非0的數(shù)字”或“對象”的情況下返回true;在轉(zhuǎn)換值為“空字符串”、“數(shù)字0”、“undefined”,“null”的情況下返回false。
例如:
var b1 = Boolean("");//返回false,空字符串
var b2 = Boolean("s");//返回true,非空字符串
var b3 = Boolean(0);//返回false,數(shù)字0
var b4 = Boolean(1);//返回true,非0數(shù)字
var b5 = Boolean(-1);//返回true,非0數(shù)字
var b6 = Boolean(null);//返回false
var b7 = Boolean(undefined);//返回false
var b8 = Boolean(new Object());//返回true,對象
接下來分析Number,Number與parseInt和parseFloat類似,區(qū)別在于Number轉(zhuǎn)換的是整個(gè)值,而parseInt和parseFloat則可以只轉(zhuǎn)換開頭的數(shù)字部分。
例如:
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會先判斷要轉(zhuǎn)換的值能否被完整的轉(zhuǎn)換,然后再判斷是調(diào)用parseInt或parseFloat。
下面列了一些值調(diào)用Number后的結(jié)果:
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可以把所有類型的數(shù)據(jù)轉(zhuǎn)換成字符串,例如:String(false)的結(jié)果為”false”,String(1)的結(jié)果為”1″。它和toString方法有些不同,區(qū)別如下:
var s1 = null;
var s2 = String(t1);//s2的值是 "null"
var s3 = s1.toString();//會報(bào)錯(cuò)
var s4;
var s5 = String(t4);//s5的值是 "undefined"
var s6 = t4.toString();//會報(bào)錯(cuò)
我們知道 Boolean(value) 是把值轉(zhuǎn)換成Boolean類型,Nnumber(value) 是把值轉(zhuǎn)換成數(shù)字(整型或浮點(diǎn)數(shù)),而 String(value) 是把值轉(zhuǎn)換成字符串。
先來分析下Boolean,Boolean在轉(zhuǎn)換值為“至少有一字符的字符串”、“非0的數(shù)字”或“對象”的情況下返回true;在轉(zhuǎn)換值為“空字符串”、“數(shù)字0”、“undefined”,“null”的情況下返回false。
例如:
復(fù)制代碼 代碼如下:
var b1 = Boolean("");//返回false,空字符串
var b2 = Boolean("s");//返回true,非空字符串
var b3 = Boolean(0);//返回false,數(shù)字0
var b4 = Boolean(1);//返回true,非0數(shù)字
var b5 = Boolean(-1);//返回true,非0數(shù)字
var b6 = Boolean(null);//返回false
var b7 = Boolean(undefined);//返回false
var b8 = Boolean(new Object());//返回true,對象
接下來分析Number,Number與parseInt和parseFloat類似,區(qū)別在于Number轉(zhuǎn)換的是整個(gè)值,而parseInt和parseFloat則可以只轉(zhuǎn)換開頭的數(shù)字部分。
例如:
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會先判斷要轉(zhuǎn)換的值能否被完整的轉(zhuǎn)換,然后再判斷是調(diào)用parseInt或parseFloat。
下面列了一些值調(diào)用Number后的結(jié)果:
復(fù)制代碼 代碼如下:
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可以把所有類型的數(shù)據(jù)轉(zhuǎn)換成字符串,例如:String(false)的結(jié)果為”false”,String(1)的結(jié)果為”1″。它和toString方法有些不同,區(qū)別如下:
復(fù)制代碼 代碼如下:
var s1 = null;
var s2 = String(t1);//s2的值是 "null"
var s3 = s1.toString();//會報(bào)錯(cuò)
var s4;
var s5 = String(t4);//s5的值是 "undefined"
var s6 = t4.toString();//會報(bào)錯(cuò)
您可能感興趣的文章:
- 詳解JavaScript中的強(qiáng)制類型轉(zhuǎn)換和自動類型轉(zhuǎn)換
- JS中強(qiáng)制類型轉(zhuǎn)換的實(shí)現(xiàn)
- 重學(xué)JS之顯示強(qiáng)制類型轉(zhuǎn)換詳解
- JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例
- 詳解JavaScript中的強(qiáng)制類型轉(zhuǎn)換
- JS在if中的強(qiáng)制類型轉(zhuǎn)換方式
- Javascript 強(qiáng)制類型轉(zhuǎn)換函數(shù)
- 深入理解JavaScript強(qiáng)制類型轉(zhuǎn)換
相關(guān)文章
javascript創(chuàng)建數(shù)組之聯(lián)合數(shù)組的使用方法示例
聯(lián)合數(shù)組也叫做鍵值數(shù)組,和php中的鍵值數(shù)組類似,下面看代碼如何演示2013-12-12深入理解ECMAScript的幾個(gè)關(guān)鍵語句
下面小編就為大家?guī)硪黄钊肜斫釫CMAScript的幾個(gè)關(guān)鍵語句。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06Javascript Throttle & Debounce應(yīng)用介紹
Throttle:無視一定時(shí)間內(nèi)所有的調(diào)用Debounce:一定間隔內(nèi)沒有調(diào)用時(shí),接下來將為大家介紹下Throttle & Debounce的應(yīng)用,感興趣的朋友可以參考下哈2013-03-03javaScript 事件綁定、事件冒泡、事件捕獲和事件執(zhí)行順序整理總結(jié)
這篇文章主要介紹了javaScript 事件綁定、事件冒泡、事件捕獲和事件執(zhí)行順序整理總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-10-10