我需要对屏幕后面发生的事情进行一些确认。
MDN 中有一篇文章说我们不应该在块级声明函数,例如在 if 语句中。因为它在整个浏览器中都是不一致的,并且与 ES2015 之前(或 ES6 之前)有关。
除非条件为真,否则不会创建 if 语句中的函数。
我想知道,如果条件为真,假设在5分钟后的JavaScript加载和同步设置后,将其创建的功能?为了创建函数,它是否仍然有代码的内存,或者它是否被转储到未使用的代码中?
我想知道即使在if语句完成后该函数是否仍然存在。可以访问吗?多久可以访问?在 if 条件为假之前是否可以访问?结果与 ES6 和 ES6 之前的结果不同吗?我听说 if 语句中没有 ES6 之前的范围。
例如
if (condition) {
function foo() {console.log(“hello world”);
}
}
在阅读 MDN 中关于“非严格代码中的块级函数”下的“函数”的文章后,我感到很困惑:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions