使弱類型的語言JavaScript變強勢

來源:互聯網
上載者:User

弱類型的Javascript不會按照程式員的願望從實際的變數類型到所需要的資料類型轉換,例如一個非常常見的錯誤,在瀏覽器指令碼中,從表單控制項中擷取使用者將要輸入的一個數實值型別的變數與另一個數值變數的和.因為變數類型在表單控制項中是字串類型(計時字串序列包含一個數字)這種嘗試將會添加那個字串到變數,即使這些值碰巧是一些數字,結果在第二個變數將會被轉換為字串類型,在最後只會把從表單控制項中得到的變數添加到第一個字串末尾。

所以強制類型轉換還是比較重要的,下面看一下它的幾個強制轉換的函數:

1. Boolean(value):把值轉換成Boolean類型;

2. Nnumber(value):把值轉換成數字(整型或浮點數);

3. String(value):把值轉換成字串。

我們先來看Boolean():在要轉換的值為“至少有一字元的字串”、“非0的數字”或“對象”,那麼Boolean()將返回true,如果要轉換的值為“Null 字元串”、“數字0”、“undefined”,“null”這些話,那麼Boolean()會返回false。你可以用以下代碼來測試

以下為引用的內容:

var t1 = Boolean("");//返回false,Null 字元串
var t2 = Boolean("s");//返回true,非Null 字元串
var t3 = Boolean(0);//返回false,數字0
var t3 = Boolean(1),t4 = Boolean(-1);//返回true,非0數字
var t5 = Boolean(null),t6 = Boolean(undefined);//返回false
var t7 = 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(false)---"false"、String(1)---"1"。它和toString()方法有些不同,區別在於:

以下為引用的內容:

var t1 = null;
var t2 = String(t1);//t2的值 "null"
var t3 = t1.toString();//這裡會報錯
var t4;
var t5 = String(t4);//t5的值 "undefined

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.