0

我对JavaScript中的对象和原型模式一定有一些误解,但我不明白为什么下面的代码不起作用:

Object.prototype.log = function() {
  console.log(this);
  return this;
}

var test = { 'foo' : 'bar'};
test.log();

为什么这会引发object has no method 'log'错误?

4

2 回答 2

1

尝试在 log 函数中记录一个值:

Object.prototype.log = function(){console.log(this.foo);};

于 2012-10-05T18:33:28.773 回答
1

这应该根据规范工作。我将您的代码按原样粘贴到 IE10 中,它工作正常。

于 2012-10-05T18:37:08.523 回答