作用域

204 阅读1分钟
var a = 12  // 全局变量
var f = function(){
    console.log(a)  //undefined  存在变量提升的原因
    var a=100;
console.log(a)
}
f()//在代码执行之前 就有变量提升这个阶段
console.log(a)//12 全局的这个a和私有的a没有关系


var b =10
var f2 = function(){
    console.log(b);//10
    b=200;
    console.log(b)//200
}
f2();
console.log(b);//200

var f3 = function(c){
    console.log(d);
    //暂时性死区; 没有任何变量
    let d = 100;

}
f4();

if(1<2){
    var e = 12;
    let f = 12;
}
console.log(e);
console.log(f);