首頁 >web前端 >js教程 >Javascript Boolean、Nnumber、String 強制型別轉換的差異詳細介紹_基礎知識

Javascript Boolean、Nnumber、String 強制型別轉換的差異詳細介紹_基礎知識

WBOY
WBOY原創
2016-05-16 17:46:341202瀏覽

下面就來詳細說一說 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();//會報錯
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn