1.value.toString()
2."" + value
3.String(value)
第一種方法存在的問題是,它不能把null和undefined轉換為字符串.還有第二種和第三種方法,這兩種方法的效果基本一樣.
""+value: 使用加法運算符配合一個空字符串可以把任意值轉換為字符串,我覺得這種方法代碼的可讀性很差,但相對String(value)來,還是有一些人更喜歡用這種轉換方式.
String(value): 這種方法可讀性更好,唯一的問題是,這種函數調用可能會迷惑一些人,尤其是那些熟悉Java的程序員,因為String同時也是一個構造函數.要注意的是它作為普通函數和作為構造函數時的表現完全不同
其他:
a. 要把一個數字轉換為字符串,只要給它添加一個空的字符串即可:
var n = 100;
var n_as_string = n + "";
b. 要讓數字更加顯式地轉換為字符串,可以使用String()函數:
var string_value = String(number);
c. 使用toString()方法:
string_value = number.toString();
Number對象的(基本的數字轉換為Number對象,以便可以調用這個方法)toString()方法有一個可選的參數,該參數用來指定轉換的基數。如果不指定這個參數,轉換會以10為基數進行。然而,也可以按照其他的基數(2到36之間的數)來轉換數字。
var n = 17;
binary_string = n.toString(2); // Evaluates to "10001"
octal_string = "0" + n.toString(8); // Evaluates to "021"
hex_string = "0x" + n.toString(16); // Evaluates to "0x11"
d. toFixed()方法把一個數字轉換為字符串,並且顯示小數點后的指定的位數。它不使用指數表示法。
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(1); // "123456.8"
e. toExponential()使用指數表示法把一個數字轉換為字符串,小數點前面有1位數,而小數點后面有特定的位數。
var n = 123456.789;
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"
f. toPrecision()使用指定的有意義的位數來顯示一個數字,如果有意義的位數還不夠顯示數字的整個整數部分,它就使用指數表示法。
var n = 123456.789;
n.toPrecision(4); // "1.235e+5"
n.toPrecision(7); // "123456.8"