JavaScript中toString()和String()的区别
toString()
语法:par.toString()
功能:将par转换为字符串
返回值:par的一个副本
参数:par是要转换的内容,可以是数值、布尔值、对象和字符串。
说明:在不知道要转换的值是不是null或undefined的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串。
String()
语法:String(par)
功能:将par转换为字符串
返回值:par的一个副本
区别:
(1)语法中的区别:toString()的括号内不能包含参数,需要以par.toString()的形式使用;String()的参数需要包含在括号内,使用语法为String(par)。
(2)对于转换值的区别:toString()不能处理转换的值是null或undefined的情况,它遇到这种情况下会在console中报错:Uncaught TypeError: Cannot read property ‘toString’ of undefined。而String()是可以处理转换的值是null或undefined的参数,转换的值是null的返回值是null字符串,转换的值是undefined返回值是undefined字符串。
String()处理未定义的变量,返回值为undefined的字符串
var a;
var b=String(a);
console.log(b); //undefined
console.log(typeof(b));//string
String()转换的值是null的变量返回值是null字符串
var a=null;
var b=String(a);
console.log(b);//null
console.log(typeof b);//string