在模块化JavaScript代码时,可以使用立即执行函数表达式(IIFE)来创建私有作用域,从而保护变量和函数不被外部访问。这有助于避免全局污染和命名冲突。以下是如何在模块化中使用IIFE的示例:
myModule.js
:// 使用IIFE创建私有作用域
(function () {
// 私有变量
var privateVar = 'I am private';
// 私有函数
function privateFunction() {
console.log('This is a private function');
}
// 公开暴露的对象
var myModule = {
publicFunction: function () {
console.log('Accessing private variable: ' + privateVar);
privateFunction();
},
};
// 导出模块
return myModule;
})();
// 导入并使用myModule
myModule.publicFunction(); // 输出: Accessing private variable: I am private 和 This is a private function
在这个例子中,我们使用IIFE创建了一个私有作用域,其中包含私有变量privateVar
和私有函数privateFunction
。然后,我们创建了一个名为myModule
的对象,该对象包含一个公共方法publicFunction
,用于访问和调用私有成员。最后,我们将myModule
对象导出,以便在其他文件中使用。