为什么JavaScript对象的这个扩展不起作用?

时间:2012-10-05 18:29:21

标签: javascript prototype

我必须对JavaScript中的对象和原型模式有一些误解,但我无法理解为什么以下代码不起作用:

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

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

为什么会抛出object has no method 'log'错误?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

这应该按照规范工作。我把你的代码原样粘贴到IE10中,它运行正常。