javascript - 理解 JS 中 this 关键字的作用域
问题描述
我在某处读到,在 JS 函数(不是函数)中,this
关键字的范围取决于调用它的父对象。
所以我做了一些简单的事情,比如在我的全局作用域中声明一个变量名并使用这个关键字在函数中调用它
let name = "rohit"
function something () {
console.log("this scope", this.name)
}
something()
这没有记录任何内容this.name
问题:有人可以帮助我理解为什么它不记录任何内容,甚至不返回错误吗?
解决方案
除非明确绑定,否则内部函数this
是指窗口。所以删除let
关键字并将name
在window
name = "rohit"
function something() {
console.log("this scope", this.name)
}
something()