【问题标题】:Access IIFE variables from inside nested functions从嵌套函数内部访问 IIFE 变量
【发布时间】:2018-10-23 02:20:18
【问题描述】:

我有一个 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();

})();

【问题讨论】:

标签: javascript scope iife


【解决方案1】:

将外部变量作为参数传递,以便您可以将其与内部变量分开引用:

(function() {
  let word = "Hello";
  function sayHello(outerWord) {
    let word = "Greetings";
    console.log(outerWord + " Everyone!");
  }
  sayHello(word);
})();

或者,如果允许,只需为变量指定不同的名称 - 由于这个原因,阴影通常不是一个好主意。

【讨论】:

    猜你喜欢
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    相关资源
    最近更新 更多