我有一个具有以下结构的对象
var obj = {
toString: function(){ return "20" },
valueOf: function(){ return 10; }
};
alert(obj) //20
console.log(obj) //Object {toString: function, valueOf: function}
与alert(obj)不同,为什么console.log(obj)显示对象结构而不是toString()的返回值?
在两个场景中都期待字符串文本。
答案 0 :(得分:2)
这只是为了调试。
想在控制台中看到obj.toString()吗?使用:
Console.count(obj); //also will show how many times obj has been invoked
有用的链接:
答案 1 :(得分:1)
如果你想在控制台中获取文本,那么只需添加空字符串,如bellow
console.log(obj + "");
答案 2 :(得分:0)
用Tim Down的话说,方法
alert()
使用对象的toString()
方法将传递给它的对象转换为字符串[而]console.log()
不仅用于显示简单的字符串,还可以允许您与传递给它的对象进行交互。
console.log()
也用于调试。用Jan Hančič,
例如,当事情发生时,您可以将某些内容记录到控制台。
使用console.log
查看完整对象结构。