JavaScript 中调用函数为何不打印:this 上下文绑定问题?

javascript 中调用函数为何不打印:this 上下文绑定问题?

JavaScript 中输出不打印的原因

在提供的代码中,遇到了一个问题:调用函数 bb.eat() 没有输出任何内容。这是为什么呢?

代码中定义了两个类,a 和 b。类 a 有两个属性(name 和 age)和一个方法(say),该方法打印 age 的值。

类 b 有一个方法(eat),它调用方法 a.call(b)。由于 this 上下文的改变,调用 a.say 将打印 b 的 age 值。

但是,在调用 bb.eat() 时,从未执行 this.say 方法。尽管 this 上下文被设置为 b,但 this.say 仍然引用的是类 a 的方法。换句话说,this.say 没有绑定到 b 实例上。

因此,调用 bb.eat() 并没有产生任何输出,因为没有打印 age 值。

以上就是JavaScript 中调用函数为何不打印:this 上下文绑定问题?的详细内容,更多请关注其它相关文章!