我在javascript中有以下代码块:
const obj = {
name: "sri1",
func1: function() {
const name = "sri2"
function a() {
console.log(this.name)
}
a();
}
}
obj.func1();
为什么我没有得到关于此关键字的任何console.log状态?我真的很困惑,它既不是obj也不是undefined也不是window对象
您在功能中登录window.name
。如果您未设置,则为“。”>
棘手的事情是,当您定义函数a
时-它是在全局范围内定义的。
[当对象具有返回函数的方法时,this
会转义对象范围并引用窗口,除非您绑定它或使用箭头函数。