Object:
Object 实例 的 toString valueOf 可自定义
Object 未重写时, 返回:“[object Object]” 和 对象本身
在 == 左方时 会先调用 valueOf 当返回为对象本身, 若右方不为 Object, 再调用 toString
aObj = {
toString: function(){
return "2";
}
};
console.log(aObj == 2); // true
console.log(aObj == "2"); // true
aObj = {
valueOf: function(){
return "2";
}
};
console.log(aObj == 2); // true
console.log(aObj == "2"); // true
aObj = {
toString: function(){
return "2";
},
valueOf: function(){
return 1;
}
};
console.log(aObj == 2); // false
console.log(aObj == "2"); // false
console.log(aObj == 1); // true
console.log(aObj == "1"); // true
aObj = { };
console.log(aObj == "[object Object]"); // true
Array:
数组的 toString 返回各元素(包括多维)的字符串,以逗号分隔 valueOf 返回数组对象本身
aArr = [ [1,2], "xx"];
console.log(aArr == "1,2,xx"); // true
RegExp:
正则的 toString 返回正则的字符串, valueOf 返回正则对象本身
aReg = new RegExp("[a]", "gi");
console.log(aReg == "/[a]/gi"); // true
Function :
Function的 toString 返回Function的定义字符串, valueOf 返回Function对象本身
js: Object - toString & valueOf
最新推荐文章于 2023-03-08 18:00:00 发布