我有一个内置嵌套函数的IIFE。嵌套函数内部和外部都有一个word
变量。如何在嵌套函数外部而不是内部函数中访问word
变量?
代码:
(function (){
let word = "Hello";
function sayHello(){
let word = "Greetings";
console.log(word + " Everyone!"); // This is using the inside word variable instead of the outside one. How can I specify JS to use the outside one instead?
}
sayHello();
})();

答案 0 :(得分:2)
将外部变量作为参数传递,以便您可以从内部变量中单独引用它:
(function() {
let word = "Hello";
function sayHello(outerWord) {
let word = "Greetings";
console.log(outerWord + " Everyone!");
}
sayHello(word);
})();
或者,如果允许,只需给变量指定不同的名称 - 出于这个原因,阴影通常是一个坏主意。