gpt4 book ai didi

javascript - Javascript 中的立即调用函数表达式 (IIFE) 使用案例

转载 作者:行者123 更新时间:2023-11-28 04:47:38 25 4
gpt4 key购买 nike

我知道 IIFE 是用来防止污染全局 namespace 的。我不明白的是,假设你有一个共享相同名称的变量,如果你要在给定函数内使用关键字 var 声明一个变量,那不是没关系吗?该函数在运行时何时被调用?我可能让它听起来比实际更复杂,但请看下面的代码块:

示例 1:不使用 IIFE

var firstName = "eugene";

function name(){
var firstName = "bobby";
console.log(firstName);
}
name(); //bobby

console.log(firstName); //eugene

示例 2:使用 IIFE

var firstName = "eugene";

(function(){
var firstName = "bobby";
console.log(firstName);
})();

console.log(firstName);

示例 2 输出的结果基本相同。如果 IIFE 会输出相同的结果,那么使用 IIFE 的意义何在?

最佳答案

IIFE 的要点,也可以(尽管应该 the name doesn't hurt )写为

(function () {
// ^ anonymous
var firstName = "bobby";
console.log(firstName);
})();

是不在全局范围内引入名称。在第一个示例中,您可以根据需要调用 name() 两次或多次。

关于javascript - Javascript 中的立即调用函数表达式 (IIFE) 使用案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43218557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com