網頁制作poluoluo文章簡介:Javascript (ECMA Script)是一種弱類型的語言.這並不意味著它沒有數據類型,只是變量或者Javascript對象屬性不需要一個特定類型的值分配給它或者它始終使用相同的值.Javascript中的變量同樣支持自由類型轉換成為適用(或者要求)的內容以便於使用. 弱類型的Javascript不會
Javascript (ECMA Script)是一種弱類型的語言.這並不意味著它沒有數據類型,只是變量或者Javascript對象屬性不需要一個特定類型的值分配給它或者它始終使用相同的值.Javascript中的變量同樣支持自由類型轉換成為適用(或者要求)的內容以便於使用.
弱類型的Javascript不會按照程序員的願望從實際的變量類型到所需要的數據類型轉換,例如一個非常常見的錯誤,在浏覽器腳本中,從表單控件中獲取用戶將要輸入的一個數值類型的變量與另一個數值變量的和.因為變量類型在表單控件中是字符串類型(計時字符串序列包含一個數字)這種嘗試將會添加那個字符串到變量,即使這些值碰巧是一些數字,結果在第二個變量將會被轉換為字符串類型,在最後只會把從表單控件中得到的變量添加到第一個字符串末尾。
所以強制類型轉換還是比較重要的,下面看一下它的幾個強制轉換的函數:
1. Boolean(value):把值轉換成Boolean類型;
2. Nnumber(value):把值轉換成數字(整型或浮點數);
3. String(value):把值轉換成字符串。
我們先來看Boolean():在要轉換的值為“至少有一字符的字符串”、“非0的數字”或“對象”,那麼Boolean()將返回true,如果要轉換的值為“空字符串”、“數字0”、“undefined”,“null”這些話,那麼Boolean()會返回false。你可以用以下代碼來測試
以下為引用的內容:
var t1 = Boolean("");//返回false,空字符串
var t2 = Boolean("s");//返回true,非空字符串
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(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