[JS] 变量作用域

var num = 10;
fun();
function fun() {`
	console.log(num);`
	var num = 20;`
}

>> undefined

因为在fun()里,因为log()调用了num,就在这个函数的作用域里找 num,然后把num的声明提前,相当于是:

function fun() {
    var num;
    console.log(num);
    num = 20;
}

另一个例子:

var a = 18;
fun();
function fun() {
    var b = 9;
    console.log(a);
    console.log(b);
    var a = 5;
}

>> undefined
>> 9
posted @ 2019-02-10 22:51  wanyi1996  阅读(143)  评论(0编辑  收藏  举报