这个值的值是由一个函数的调用的词法性质决定的吗?

时间:2015-03-19 15:51:14

标签: javascript

this的值是否由函数调用的词汇性质决定?

function Foo() {}
Foo.prototype.bar = function() { console.log('this: ', this); }
Foo.prototype.bar(); // this: Foo.prototype
var fn = Foo.prototype.bar;
fn(); // this: Window

1 个答案:

答案 0 :(得分:2)

  

this的值是否由函数调用的词汇性质决定?

是的,情况确实如此,但不适用于ES6 arrow functions。他们创建的环境不具有this值。相反,this将引用定义函数的环境的this值。

更多信息:MDN - this