javascript的toLocaleString()、toString()和valueOf()方法

发布时间:2020-11-21编辑:脚本学堂
本文介绍下,javascript语言中的toLocaleString()、toString()和valueOf()方法,用于字符串的转换、返回数组的字符串形式等,有需要的朋友参考下。

javascript中所有的对象都具有toLocaleString()、toString()和valueOf()方法。

其中,调用数组的toString()和valueOf方法会返回相同的值,即由数组中每个值的字符串形式拼接而成的一个以逗号分割的字符串。
实际上,为了创建这个字符串会调用数组每一项的toString()方法。

例子:
 

复制代码 代码示例:
var colors = ["red", "blue", "green"];  //创建一个包含3个字符串的数组
alert(colors.toString());               //red, blue, green
alert(colors.valueOf());                //red,blue,green
alert(colors);                          //red,blue,green

在这里,首先显式地调用了toString()和valueOf()方法,以便返回数组的字符串表示,每个值的字符串都表示拼接成了一个字符串,中间可以逗号分割。
最后一行代码直接将数组传递给了alert()。由于alert()要接受字符串参数,所以它会在后台调用toString()方法,由此会得到与直接调用toString()方法相同的结果。

另外,toLocalString()方法经常也会返回与toString()和valueOf()方法相同的值,但也不总是如此。
当调用数组的toLocaleString()方法时,它也会创建一个数组的以逗号分割的字符串。
而与前两个方法唯一的不同指出在于,这因此i是为了取得每一项的值,调用的是每一项的toLocaleString()方法,而不是toString()方法。

例子:
 

复制代码 代码示例:
var person1 = {
    toLocaleString: function () {
        return "Nikolaos";
    },
    toString: function () {
        return "Nicholas";
    }
}
var person2 = {
    toLocaleString: function () {
        return "Grigorios";
    },
    toString: function () {
        return "Greg";
    }
};
var people = [person1, person2];
alert(people);                   //Nicholas,Greg
alert(people.toString());        //Nicholas,Greg
alert(people.toLocaleString());  //Nikolaos,Grigorios