1.全局变量和局部变量
下面这种情况相当于b和c没有var,所以b和c是全局变量,a是局部变量。
<script>
f1();
console.log(c);
console.log(b);
console.log(a);
function f1() {
var a = b = c = 9;
//这种情况相当于b和c没有var,所以b和c是全局变量,a是局部变量,所以结果为:9,9,9,9,9,indefined
console.log(a);
console.log(b);
console.log(c);
}
</script>
2.变量提升
下面代码中的num被提升到函数最前面,但是不赋值
<script>
var num = 10;
f1();
function f1() {
console.log(num);
var num = 20;
}
/*结果是undefined,num被提升到最顶端,只提升不赋值。即:
var num = 10;
f1();
function f1() {
var num;
console.log(num);
num = 20;
}*/
</script>