JavaScript立即執(zhí)行函數(shù)在模塊化中怎樣用

小樊
83
2024-10-25 17:26:42

在模塊化JavaScript代碼時(shí),可以使用立即執(zhí)行函數(shù)表達(dá)式(IIFE)來(lái)創(chuàng)建私有作用域,從而保護(hù)變量和函數(shù)不被外部訪問(wèn)。這有助于避免全局污染和命名沖突。以下是如何在模塊化中使用IIFE的示例:

  1. 創(chuàng)建一個(gè)模塊文件,例如myModule.js
// 使用IIFE創(chuàng)建私有作用域
(function () {
  // 私有變量
  var privateVar = 'I am private';

  // 私有函數(shù)
  function privateFunction() {
    console.log('This is a private function');
  }

  // 公開(kāi)暴露的對(duì)象
  var myModule = {
    publicFunction: function () {
      console.log('Accessing private variable: ' + privateVar);
      privateFunction();
    },
  };

  // 導(dǎo)出模塊
  return myModule;
})();
  1. 在其他文件中使用該模塊:
// 導(dǎo)入并使用myModule
myModule.publicFunction(); // 輸出: Accessing private variable: I am private 和 This is a private function

在這個(gè)例子中,我們使用IIFE創(chuàng)建了一個(gè)私有作用域,其中包含私有變量privateVar和私有函數(shù)privateFunction。然后,我們創(chuàng)建了一個(gè)名為myModule的對(duì)象,該對(duì)象包含一個(gè)公共方法publicFunction,用于訪問(wèn)和調(diào)用私有成員。最后,我們將myModule對(duì)象導(dǎo)出,以便在其他文件中使用。

0