我是JS的新手,正在尝试输出下面遇到的这个验证函数。
在我有限的思考中,我认为结果是错误的,我可以使用document.write((来写,但它只是写[object object]引用https://jsfiddle.net/zyac0etj/
希望有人能为我解释/回答这个问题
function MyData(foo, bar) {
this.foo = foo;
this.bar = bar;
this.verify = function () {
return this.foo === this.bar;
};
}
\my addendum
var test = new MyData("myfoo","mybar");
document.write(test);
现在,您只是将整个对象写入DOM,这就是为什么它显示为[object object]。假设您想获得写入文档的verify
函数的结果,则必须在最后一行中运行验证函数。
固定代码看起来像这样:
function MyData(foo, bar) {
this.foo = foo;
this.bar = bar;
this.verify = function () {
return this.foo === this.bar;
};
}
var test = new MyData("myfoo","mybar");
// To see the difference between test and test.verify()
console.log("Test object:", test);
console.log("Verify result:", test.verify());
document.write(test.verify());
您还可以在控制台中看到test
和test.verify()
之间的区别。
document.write((方法将一个文本字符串写入文档流。有关文档的详细信息,请编写
这是正在进行的:
console.log(({}).toString());
CCD_ 4期望CCD_。如果您向它传递任何不是字符串的内容,则该内容的toString()
方法将被隐式调用。对象有一个toString()
方法来执行此操作:
Object.prototype.toString = function() { return '[object Object]'; };