这是关于术语的问题。
考虑到有一种方法使用词汇this
:
var foo = {
method: function () {
console.log(this, ' is the context');
}
};
foo.method();
当绑定到不同的上下文或分离时调用该方法时,this
的常规术语是什么?
bazThatAcceptsACallback(foo.method);
foo.method.bind(baz)();
(0, foo.method)();
在这种情况下,我经常将其称为“非词汇本”或“上下文”,但我从未在官方或可信赖的来源中遇到过这些或类似的术语。
答案 0 :(得分:4)
与词汇this
相反的是dynamic this
。
但是,请注意,词汇this
不是您在function
代码段中显示的内容,而是箭头功能所具有的this
。
答案 1 :(得分:1)
你不需要不同的术语来描述JS lexical this
的行为。它始终是" context"函数被调用。让它成为父对象或另一个绑定 - 你总是可以说词汇this
代表上下文。