代码改变世界

js面试题,关于变量提升,作用域,全局变量

2017-05-10 00:13  陶俊龙  阅读(499)  评论(0编辑  收藏  举报

/**********seperate line************/

var a = 10;
function test() {
  a = 100;
  console.log(a);
  console.log(this.a);
  var a;
  console.log(a);
}
test();
VM3854:4 100
VM3854:5 10
VM3854:7 100

/**********seperate line************/

var a = 100;
function test(){
  console.log(a);
  var a = 10;
  console.log(a);
}
test();
VM3896:3 undefined
VM3896:5 10

/**********seperate line************/

var a = 100;
function test(){
  console.log(a);
  a = 10; //去掉了var 就变成定义了全局变量了
  console.log(a);
}
test();
console.log(a);
VM2216:4 100
VM2216:6 10
VM2216:9 10