今天我们来做下作用域和变量提升的面试题;
答案我会写在最下面,大家先开始自己尝试下
//第1题
console.log(a);
var a=12;
function fn(){
console.log(a);
var a=13;
}
fn();
console.log(a);
//第2题
console.log(a);
var a=12;
function fn(){
console.log(a);
a=13;
}
fn();
console.log(a);
//第3题
console.log(a);
a=12;
function fn(){
console.log(a);
a=13;
}
fn();
console.log(a);
//第4题
var foo=1;
function bar(){
if(!foo){
var foo=10;
}
console.log(foo);
}
bar();
//第5题
var n=0;
function a(){
var n=10;
function b(){
n++;
alert(n);
}
b();
return b;
}
var c=a();
c();
alert(n);
//第6题
var a=10,b=11,c=12;
function test(a){
a=1;var b=2;c=3;
}
test(10);
alert(a); alert(b); alert(c);
//第7题
if(!("a" in window)){
var a=1;
}
alert(a);
//第8题
var a=4;
function b(x,y,a) {