你能告诉我为什么 valueOf 和 toString(如果被替换)在下面的例子中产生相同的结果吗?我的理解是首先应用 valueOf 方法,如果它不存在,则应用 toString。那些。在下面的示例中,valueOf 不能应用于字符串“1”?除了new Date还有哪些对象有valueOf?谢谢!!
var a = {
valueOf: function() {
return "1";
}
};
var b = {
valueOf: function() {
return "2";
}
};
alert( a + b ); // "12"
根据 valueOf 规范,它返回所谓的。对象的原始值,即 在这种情况下行。它不适用于线路本身。