- father::JS的模块化规范
IIFE (Immediately Invoked Function Expression)
-
定义: IIFE 是指立即调用函数表达式。在 JavaScript 中,它是一种设计模式,用于创建一个自执行的匿名函数。
-
语法: 普通的函数声明和函数表达式之间的区别主要在于如何定义它们,而 IIFE 的特点是,它在定义时就立即执行。其典型语法如下:
(function() { // 代码块 })(); (function() { // 代码块 }()); -
用途:
- 变量作用域隔离: IIFE 创建了一个新的作用域,避免了变量污染全局命名空间。
- 模块化开发: 在没有模块化工具的情况下,IIFE 可以用来封装代码,形成独立模块。
-
例子:
(function() { var privateVar = "I am private"; console.log(privateVar); })(); // 尝试访问 privateVar 会抛出错误,因为它在 IIFE 外部不可见 -
优点:
- 避免全局变量污染,增强代码可维护性和可读性。
- 可以创建私有成员,对于需要保护的变量或方法非常有用。
-
注意事项:
- 尽管大多数现代 JavaScript 开发使用模块系统(如 ES6 模块、CommonJS 等)来实现类似功能,但在某些特定场景下(如立即执行需要),IIFE仍然是一个有用的工具。