1. value.toString()
  2. "" + value
  3. String(value)

第一种方法存在的问题是,它不能把nullundefined转换为字符串.还有第二种和第三种方法,这两种方法的效果基本一样.

""+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"

本文转载:CSDN博客