以下代碼有點不明白function a(){ var tag=true;
b();
}function b(){ console.log(tag)
}
a();執行a函數,那么就是先聲明tag=true,然后執行b,按照把b中的console.log(tag)這句語句搬進a中替代b()的話,那么tag應該是可以打印出的,為什么tag為undefine?我知道可以通過傳參解決,但是一直說不清楚其中機制,求大牛解答。
JS函數作用域
慕萊塢森
2018-08-13 10:09:52