关于toLocaleString(), toString(), valueOf()方法的使用

所有对象都是具有toLocalString(), toString(), valueOf()三种方法的,此篇博客主要是讲述其在Array引用类型上的使用。

基本使用

调用valueOf()返回的是数组本身,调用数组的toString()方法返回的是数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。

let a = ['a','b','c'];
console.log(a.valueOf());
console.log(a.toString());

程序运行结果如下:

1564389019238

而对于toLocalString()方法,经常也会返回与toString()valueOf()方法相同的值,但是不总是如此。而与这两种方法不同的是,这个为了取得每一项的值,调用的是每一项的toLocalString()方法,而不是toString()方法,请看下面这个例子。

let person1 = {
    toLocaleString: function(){
        return 'lcs'
    },
    
    toString: function(){
        return 'Jacob'
    }
}

let person2 = {
    toLocaleString: function(){
        return 'hch'
    },
    
    toString: function(){
        return 'Anble'
    }
}

let person = [person1, person2]
alert(person)  // Jacob,Anble
alert(person.toString())  // Jacob,Anble
alert(person.toLocaleString())  // lcs,hch

1564389682146

1564389726363

1564389926093

这样子的话调用函数情况就很简洁明了了,系统返回某个对象String类型值时默认调用的是toString()方法。

我不管,JS天下第一
原文地址:https://www.cnblogs.com/Jacob98/p/11264922.html