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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js面试题,关于变量提升,作用域,全局变量相关的知识,希望对你有一定的参考价值。

/**********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

 






























以上是关于js面试题,关于变量提升,作用域,全局变量的主要内容,如果未能解决你的问题,请参考以下文章

JS作用域面试题总结

面试题 var let const的区别

前端面试题(执行上下文与执行上下文栈作用域与作用域链闭包内存溢出与内存泄露)

js 面试题总结 3

作用域与变量提升

js变量作用域--变量提升