IIFE(立即执行函数)随笔

IIFE(立即调用函数表达式)是一种在JavaScript中定义并立即执行的匿名函数,用于生成独立的函数作用域,避免变量污染全局环境。本文详细解释了IIFE的工作原理,包括其语法结构和执行流程,以及如何利用IIFE来优化代码结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IIFE

IIFE( 立即调用函数表达式)是一个在定义时就会立即执行的 JavaScript 函数。

(function () {
    // todo something
})();

自执行函数包括两部分:

  • 包围在 圆括号运算符 () 里的一个匿名函数,这个匿名函数拥有独立的词法作用域。这不仅避免了外界访问此 IIFE 中的变量,而且又不会污染全局作用域。

  • 再一次使用 () 创建了一个立即执行函数表达式,JavaScript 引擎到此将直接执行函数。

了解函数声明、函数表达式、匿名函数

函数声明

function todo() {
  console.log('函数声明')
}

函数表达式

var todo = function () {
  console.log('函数表达式')
}

匿名函数

function () {
  console.log('匿名函数')
}
IIFE 的优点

通过定义一个匿名函数,生成一个独立私有的函数作用域空间,该空间内的方法和变量,不会污染全局环境,同时也不会被外界使用到

(function () {
  var name = 'Mary';
})();

console.log(name)  // '' 此时在外部是读取不到内部的变量的

不用再次调用函数,可以直接执行

var result = (function () { 
    var name = "Barry"; 
    return name; 
})();

console.log(result) // Barry result 保存的不是声明地函数体,而是函数执行的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值