js作用域
js的作用域是访问变量,函数,对象的集合。
主要有函数作用域和块级作用域
函数作用域:
function foo () {
....
}
块作用域:
es6之后js也支持块级作用域,代表let,const,过去var声明的变量存在变量提升问题,let则改变了这种现象。
function foo() {
console.log(c)
}
foo() // 2
var c = 2
function foo() {
console.log(c)
}
foo() // c is not defined
let c = 2