JS - 立即执行函数

含义:立即执行,且执行一次,执行后销毁的函数。

作用:创建一个局部作用域,避免变量污染全局作用域。

1、如何理解`(function(i){})(i)`?

`(function(i){})`表示定义了一个匿名函数,它接受一个参数`i`,然后函数体中没有任何操作。最后的`(i)`表示立即执行这个函数,并传入一个参数`i`。

2、如何使用立即执行函数?

首先js中的函数通常有两种命名方式,分别是声明式函数和函数表达式,如下所示。

// 声明式函数
function hello() {}

// 函数表达式
const hello = function() {}

当我们的有些简单函数只执行一次的时候,我们通常会这么做。

// 声明式函数
function hello1 (name) {
	console.log('你好1', name);
}
hello1('龍')
 
// 函数表达式
const hello2 = function() {
	console.log('你好2');
}
hello2()

// 箭头表达式
const hello3 = () => {
	console.log('你好3');
}
hello3()

在这里,我们发现执行函数需要用到函数名,若我们不想定义这个函数名呢?那就需要用到立即执行函数了。

<script type="text/javascript">
  !function (name) {
    console.log('你好, ' + name + '!');
  }('吕布');

  ~function (name) {
    console.log('你好, ' + name + '!');
  }('云缨');

  +function (name) {
    console.log('你好, ' + name + '!');
  }('后羿');

  -function (name) {
    console.log('你好, ' + name + '!');
  }('王昭君');

  void function (name) {
    console.log('你好, ' + name + '!');
  }('亚瑟');

  (function (name) {
    console.log('你好, ' + name + '!');
  }('钟馗'));

  (function (name) {
    console.log('你好, ' + name + '!');
  })('澜');

  (
    (name) => {
      console.log('Hello, ' + name + '!');
    }
  )('帅龍之龍')
</script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值