关于全局变量

来源:2-2 作用域(2)

MeSKiL

2019-11-05

let obj = {
    a:1,
    setA(n){
        this.a = n
    }
}
let setA = obj.setA
setA(10)
console.log(a) //10
console.log(this.a) //10
console.log(window.a) //10
let a = 5
let obj = {
    a:1,
    setA(n){
        this.a = n
    }
}
let setA = obj.setA
setA(10)
console.log(a) //5
console.log(this.a) //10
console.log(window.a) //10

这里值为5的a是存储在哪里的呢。上面的代码不let a = 5的时候,直接访问a会找到window上的a。如果设置了let a = 5 那访问a的时候是去哪里找的呢

写回答

1回答

快乐动起来呀

2019-11-07

这个要看 let 所在的作用域,同学你可以看下作用域和作用域链哈

0
1
MeSKiL
非常感谢!
2019-11-08
共1条回复

再学JavaScript ES(6-10)全版本语法大全

前端无门槛学习,从ES6到ES10,一套课程掌握JS最新语法

1182 学习 · 336 问题

查看课程