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[JS] 变量作用域
原文地址:https://www.cnblogs.com/wanyi/p/10360563.html