首页 > 解决方案 > 理解 JS 中 this 关键字的作用域

问题描述

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

所以我做了一些简单的事情,比如在我的全局作用域中声明一个变量名并使用这个关键字在函数中调用它

let name = "rohit" 

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

something()

这没有记录任何内容this.name

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

标签: javascript

解决方案


除非明确绑定,否则内部函数this是指窗口。所以删除let关键字并将namewindow

name = "rohit"

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

something()


推荐阅读