javascript 之 valueOf

时间:2021-11-12 17:58:16
var m = {
i:10,
toString:function () {
console.log('toString');
return this.i;
},
valueOf:function () {
console.log('valueOf');
return this.i;
}
};
console.log(m);// toString
console.log(String(m)); // toString 
console.log(+m); //  valueOf
console.log('' + m); // valueOf
console.log(Number(m)); // valueOf
console.log(m == '10'); // valueOf console.log(m === '10'); // false //=== 不进行转换

在有操作符的情况 下,valueOf的优先级本来就比toString的高。valueOf解决值运算问题,toString解决显示问题。