JavaScript中toString()和String()有什么区别?

  • Post author:
  • Post category:java


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