let pages =100;
let pageFunction=()=>{
console.log(pages);
const pages = "20";
//console.log(pages);
}
pageFunction();
输出: Uncaught ReferenceError :页面未定义 在 F 页 (:3:13) 于:1:1
最佳答案
根据 Mozilla 的说法,“let 语句声明了一个 block 作用域局部变量,可以选择将其初始化为一个值。”另外,“在程序和函数的顶层,let 与 var 不同,不会在全局对象上创建属性。”
查看 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/let了解更多信息。
这意味着在您提供的代码中,您有效地创建了一个隐式全局变量pages,因为let pages并不是真正的全局变量,而是仅限于它所在的范围。
关于javascript - 在重新声明未定义之前立即记录函数 block 内的全局变量 : Should not it take the Global Variable Value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42849696/