要把一個值轉換為一個字符串有兩種方法:toString()方法和轉型函數String()。
toString()方法
數值、布爾值、對象、字符串值(每個字符串都有一個toString()方法,該方法返回字符串的一個副本)都有toString()方法,但null和undefined值沒有這個方法。
var age = 11; var ageAsString = age.toString(); //"11" var found = true; var foungAsString = found.toString(); //"true" var a = null; var b = a.toString(); //Uncaught TypeError: Cannot read property 'toString' of null
多數情況下,調用toString()方法不必傳遞參數,但是在調用數值的toString()方法時可以傳遞一個參數:輸出數值的基數。默認情況下,toString()方法以十進制格式返回數字的字符串表示。通過傳遞基數,toString()方法可以輸出以二進制、十進制、十六進制,乃至其他任意有效進制格式表示的字符串值。
var num = 10; num.toString(); //"10" num.toString(2); //"1010" num.toString(8); //"12" num.toString(10); //"10" num.toString(16); //"a"
注意:默認的(沒有參數的)輸出值與十進制的輸出值相同。
轉型函數String()
在不知道要轉換的值是不是null或undefined的情況下,可以使用轉型函數String(),這個函數可以將任何類型的值轉換為字符串。
String()函數遵循下列轉換規則:
1、如果值有toString()方法,則調用該方法(沒有參數)並返回相應的結果;
2、如果值是null, 則返回 “null” ;
3、如果值是undefined, 則返回 “undefined” 。