1.value.toString()
2."" + value
3.String(value)
toString()方法存在的问题是,它不能把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"