1 JavaScript没有块级作用域的。
var a=1;
{
var a=2;
console.log(a); // print 2;
var a=3;
}
console.log(a); //print 3;
2 ES6中的let能够定义局部作用域变量。
var a=1;
{
let a=2;
console.log(a); //print 2
}
console.log(a); //print 1;
3 函数是 JavaScript中唯一有自身作用域的结构。
var a=1;
(function(){
console.log(a); //print ‘undefined’
var a=3;
console.log(a); //print 3;
})();
console.log(a); //print 1;
4 考试思考题,看看这个作用域理解多少。
var a=1;
function fun(){
var a=2;
function fun1(){
var a=3;
console.log(a);
}
function fun2(){
console.log(a);
}
fun1();
fun2();
}
fun();
console.log(a);