gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 05:04:26 25 4
gpt4 key购买 nike

请看下面的代码段:

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 没有属性 p.ap.b 那么 p.f() 如何返回输出 30 . 那是原型(prototype)链吗?谁能解释一下?提前致谢。

最佳答案

这里 oprototype p 对象,所以 o 的所有属性在 p 中可用。

因此,当您调用p.f() 时,您将在this.athis 中获得分配给o 的值。 b

关于javascript - 为什么两个函数调用都返回相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33117407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com