JavaScript-立即执行函数

本文深入解析立即执行函数的概念,展示了其两种常见写法,并通过示例代码解释如何使用匿名及命名函数实现自调用。文章强调立即执行函数能创建独立作用域,有效避免命名冲突。

所谓的立即执行函数就是在声明函数后立即就执行,立即执行函数有两种常见的写法:

  • (function() {…})() 将一个函数包裹在一个小括号运算符中,后面再跟一个小括号用于调用。
  • (function() {…}()),将一个匿名函数后面跟一个小括号,然后整个包裹在一个小括号运算符中。

上面的两种写法是等价的均可以实现函数的自调用。

示例:

// 第一种
;(function(x, y) {
  console.log(x + y)
})(6, 9)

// 第二种,比较老的写法
;(function() {
  console.log('hello')
}())

在这里插入图片描述

立即执行函数不仅可以使用匿名函数,也可以使用命名函数;除了使用 () 运算符实现之外,!+-~ 这些运算符都可以起到立即执行的作用;这些运算符的作用就是将匿名函数或函数声明转换为函数表达式。

!function show() {
  console.log('hello')
}()

+function show() {
  console.log('world!')
}()

在这里插入图片描述
立即执行函数的特点:

  • 立即执行函数的最大特点就是创建了独立的做用域,避免了命名冲突的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值