JS新手疑问:document.write输出对象为何显示[object Object]
问题原因及解决办法
- 为什么显示
[object Object]:你直接把test这个MyData实例对象传给了document.write(),JavaScript在处理对象作为字符串输出时,会自动调用对象的默认toString()方法,自定义对象的默认toString()返回值就是[object Object],所以页面会显示这个内容。 - 如何得到预期的
false:你需要调用verify()方法获取返回值,再传给document.write(),修改后的代码如下:
function MyData(foo, bar) { this.foo = foo; this.bar = bar; this.verify = function () { return this.foo === this.bar; }; } var test = new MyData("myfoo","mybar"); document.write(test.verify()); // 调用verify方法,输出false
内容的提问来源于stack exchange,提问作者Mike Devine
相关产品推荐
相关产品推荐

