在看阮一峰老師的es6入門的函數作用域部分時,亂搞出了一段代碼,發(fā)現了一些問題var x = 2;function foo(x, y) { var x = 3; y(); console.log(x);}foo(1, function() { console.log(x); x = 5; });結果y中打印出x = 2,為什么不是1或3呢?foo打印出x = 3然后稍作調整,var x = 2;function foo(x) { var x = 3; function y () { console.log(x); x = 5; } y(); console.log(x);}foo(1);y中打印的是3,foo中打印的是5,倒是符合預期,這是為什么呢?
js函數作用域的問題
收到一只叮咚
2018-12-19 18:19:40