为什么两个函数调用都返回相同的值?

时间:2015-10-14 05:41:06

标签: javascript jquery

请参阅以下代码段:

var o = {f:function(){ return this.a + this.b; }};
var p = Object.create(o);
o.a = 10;
o.b = 20;

console.log(o.f());  // output: 30
console.log(p.f());  // output: 30

对象 p 没有属性 pa pb 那么 pf()如何返回输出30那是原型链吗?有人能解释一下吗?提前致谢。

1 个答案:

答案 0 :(得分:9)

此处op对象的prototype,因此op的所有内容均可用。

因此,当您致电p.f()时,您会在othis.a

中获得分配给this.b的值