经典面试题
f1();
console.log(c);
console.log(b);
console.log(a);
function f1(){
var a = b = c = 9;
console.log(c);
console.log(b);
console.log(a);
}
答案:9 9 9 9 9 undefined。
当调用函数f1()时,abc都等于9,所有会输出三个9;
当输出c和b时,由于c和b没有var所以b和c属于全局变量,输出两个9;
由于a属于局部变量在外部没有定义,所以输出undefined。
**************************************************************
<script>
var num = 10;
fun();
function fun (){
console.log(num);
var num = 20;
}
</script>
貌似第一眼看到有个全局变量num就会想到num会输出10,然而输出undefined。
当执行函数fun()时,在函数fun()里,由于console.log(num);之前没有定义num所以会输出undefined。
f1();
console.log(c);
console.log(b);
console.log(a);
function f1(){
var a = b = c = 9;
console.log(c);
console.log(b);
console.log(a);
}
答案:9 9 9 9 9 undefined。
当调用函数f1()时,abc都等于9,所有会输出三个9;
当输出c和b时,由于c和b没有var所以b和c属于全局变量,输出两个9;
由于a属于局部变量在外部没有定义,所以输出undefined。
**************************************************************
<script>
var num = 10;
fun();
function fun (){
console.log(num);
var num = 20;
}
</script>
貌似第一眼看到有个全局变量num就会想到num会输出10,然而输出undefined。
当执行函数fun()时,在函数fun()里,由于console.log(num);之前没有定义num所以会输出undefined。