运行带有功能和IIFE的javascript代码时的行为差异

问题描述 投票:0回答:1

因此,我们假设我有一个index.js文件,具有以下情况。该文件将导入到index.html文件中,它将触发该文件内部的内容。我是否可以期望以下代码片段表现不同或表现相同?我看到了相同的结果,但不妨问一下:)

场景1

(() => {
  navigator.serviceWorker.register("sw.js").then(() => {
    console.log('sw registered');
  });
})();

scaneario 2

registerServiceWorker();

function registerServiceWorker() {
   navigator.serviceWorker.register("sw.js").then(() => {
        console.log('sw registered');
   });
}

方案3

navigator.serviceWorker.register("sw.js").then(() => {
    console.log('sw registered');
});
javascript iife
1个回答
1
投票

当然-他们的行为相同。您可能出于各种原因选择一个或另一个,这可能取决于代码的上下文以及您期望代码如何演变。例如,如果可能需要重复使用该函数,则可以选择命名函数方法。尽管(1)的丑陋冗长,我看不出什么意义。

© www.soinside.com 2019 - 2024. All rights reserved.