【发布时间】:2014-01-14 01:10:25
【问题描述】:
如果我运行以下命令:
var T = function(x, y) {
this.x = x;
this.y = y;
}
T.prototype.foo = function() {
console.log("test");
}
var o = new T(7,4);
o.foo();
console.log(o);
使用node 我得到:
test
{x: 7, y: 4}
但如果我在 chrome 中运行它,我会得到:
test
T {x: 7, y: 4, foo: function}
这只是log() 方法实现的一种变体,还是为什么prototype 方法在输出中被忽略?如果它不仅仅是一个log() 实现案例,这是否意味着如果您只想保存字段,那么将包含字段和方法的对象保存到mongodb 中是安全的,即,您是否可以依赖不存在的方法?考虑?
【问题讨论】:
-
抱歉,实际上这不是重复的 - 未打印属性的原因是一个非常不同的原因:-/ 如果有的话,它应该被标记为 Why does console.log() not show inherited properties from Object.create? 的重复,但是确实如此没有好的答案。
标签: javascript node.js mongodb