valueOf():用于返回指定对象的原始值。
该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。
对象相加时会被动使用:
obj+1 === obj.valueOf().toString()+1
但是valueOf方法或toString方法都可被重构,并且自定义了valueOf方法和toString方法,结果会是toString方法优先执行。
实例:
var obj = {
valueOf: function () {
return 1;
}
};
console.log(obj) //{ valueOf: [Function: valueOf] }
console.log(obj.valueOf()) //1
console.log(obj.valueOf() == obj) //true
console.log(obj.valueOf() === obj) //false
console.log(obj.valueOf().toString()) //1
console.log(obj + 1) //2