|
弱類型的Javascript不會按照程序員的愿望從實際的變量類型到所需要的數據類型轉換,例如一個非常常見的錯誤,在瀏覽器腳本中,從表單控件中獲取用戶將要輸入的一個數值類型的變量與另一個數值變量的和.因為變量類型在表單控件中是字符串類型(計時字符串序列包含一個數字)這種嘗試將會添加那個字符串到變量,即使這些值碰巧是一些數字,結果在第二個變量將會被轉換為字符串類型,在最后只會把從表單控件中得到的變量添加到第一個字符串末尾。
所以強制類型轉換還是比較重要的,下面看一下它的幾個強制轉換的函數:
1. Boolean(value):把值轉換成Boolean類型;
2. Nnumber(value):把值轉換成數字(整型或浮點數);
3. String(value):把值轉換成字符串。
我們先來看Boolean():在要轉換的值為“至少有一字符的字符串”、“非0的數字”或“對象”,那么Boolean()將返回true,如果要轉換的值為“空字符串”、“數字0”、“undefined”,“null”這些話,那么Boolean()會返回false。你可以用以下代碼來測試
以下為引用的內容: var t1 = Boolean("");//返回false,空字符串 |
再來看看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("12") 12 |
最后是String():這個以比較簡單了,它可以把所有類型的數據轉換成字符串,如:String(false)---"false"、String(1)---"1"。它和toString()方法有些不同,區別在于:
以下為引用的內容: var t1 = null; |
JavaScript技術:使弱類型的語言JavaScript變強勢,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。