Javascript Boolean、Nnumber、String 強制類型轉換的區別詳細介紹

來源:互聯網
上載者:User

下面就來詳細說一說 Javascript 中 Boolean、Nnumber、String 強制類型轉換的區別。
我們知道 Boolean(value) 是把值轉換成Boolean類型,Nnumber(value) 是把值轉換成數字(整型或浮點數),而 String(value) 是把值轉換成字串。

先來分析下Boolean,Boolean在轉換值為“至少有一字元的字串”、“非0的數字”或“對象”的情況下返回true;在轉換值為“Null 字元串”、“數字0”、“undefined”,“null”的情況下返回false。
例如: 複製代碼 代碼如下:var b1 = Boolean("");//返回false,Null 字元串
var b2 = Boolean("s");//返回true,非Null 字元串
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();//會報錯

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.