这给出“[object Object]”:
<!doctype html>
<script>
var a={};
a.valueOf=function(){
return "asd";
};
alert(a);
</script>
但这给出了“asd”:
<!doctype html>
<script>
var a={};
a.valueOf=function(){
return "asd";
};
alert(""+a);
</script>
我能理解为什么我在第二个例子中得到“asd”。但在第一个示例中,我不应该也得到“asd”,因为我将对象放入警报函数(基本上最终会调用 value-of)吗?
最佳答案
覆盖 toString()
以获得您需要的结果:
var a={};
a.toString=function(){
return "asd";
};
alert(a);
关于javascript - 当我做警报(obj)时 valueOf 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6978174/