<script>
var a = {
name: 123,
abc: function () {
function b() {
console.log(this)
}
b()
}
}
a.abc()
script>
为什么输出的this是window呢?
以下是我个人理解不一定对,权当抛砖引玉
this指向函数的调用者,而b函数是个闭包函数不属于任何对象所以指向window
这里面是写了一个闭包?
闭包的this指向window对象(因为匿名函数的执行具有全局性,所以其this对象指向window);
这个没啥可讲的,this本来就是关键字,指的是程序本身,在页端就是指window