在javascript中使用匿名函数表达式时,为什么不能访问“ this”?

时间:2019-03-23 11:20:43

标签: javascript

我是Java语言的新手,在使用匿名函数表达式时只是一个关于'this'的问题。

const testFunction = function () {
   this.xxx = xxx;
};

后来我称它为:

testFunction()

将会出现错误,因为在这种情况下我们不能使用'this',

但这不是'this'指的是窗口对象吗?

1 个答案:

答案 0 :(得分:0)

如果您的JavaScript在网络浏览器中运行,则在默认情况下,this window对象。

const testFunction = function() {
  console.log(this === window);
};

testFunction();

如果启用了strict mode,则不会启用。

  

自动装箱不仅会降低性能,还会暴露   浏览器中的全局对象是一种安全隐患,因为   对象提供对“安全” JavaScript的功能的访问   环境必须限制。因此,对于严格模式功能,   指定未将其装箱到对象中,如果未指定,则此   将是未定义的:

"use strict";
const testFunction = function() {
  console.log(this === window);
};

testFunction();