[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

相关文章