1.易错:
f1();
console.log(c);
console.log(b);
console.log(a);
function f1() {
//相当于var a = 9; b = 9; c = 9; b和c直接赋值,没有声明,当全局变量看
//易混淆:集体声明 var a = 9, b = 9, c = 9;
var a = b = c = 9;
console.log(a);
console.log(b);
console.log(c);
}
执行顺序:
function f1() {
var a;
a = b = c = 9;
console.log(a);
console.log(b);
console.log(c);
}
f1();
console.log(c);
console.log(b);
console.log(a);
执行结果:
2.比较
2.1
fn();
function fn() {
console.log('打印');
}
执行顺序:
function fn() {
console.log('打印');
}
fn();
执行结果:
2.2
fn();
var fn = function() {
console.log('想不到吧');
}
执行顺序:
var fn;
fn();
var fn = function() {
console.log('想不到吧');
}
执行结果: