简单的例子:
var b = function (msg) {
(function inn() {
console.log(msg);
var msg = 0;
})();
} b("15");
此代码将记录“未定义”,因为第 4 行上的本地“msg”是在该行实际执行之前声明的。文档中有关于此的任何要点吗?
最佳答案
这称为变量提升。
关于javascript - 为什么 JavaScript 在函数实际调用之前声明局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17701261/