了解JS中此关键字的范围

时间:2019-01-02 12:28:24

标签: javascript

我在某个地方读到,在JS函数(不是函数)中,vapply关键字的范围取决于调用它的父对象。

因此,我做了一些简单的事情,例如在Global Scope中声明变量名,然后使用此关键字在函数内部调用

this

这没有记录let name = "rohit" function something () { console.log("this scope", this.name) } something()

的任何内容

问题:有人可以帮助我理解为什么它为什么不记录任何内容甚至不返回错误吗?

1 个答案:

答案 0 :(得分:1)

除非明确绑定,否则内部函数this表示窗口。因此,删除let关键字,name将在window

中可用

name = "rohit"

function something() {
  console.log("this scope", this.name)
}

something()