如何正确运用JavaScript的立即执行函数表达式(IIFE)进行代码封装?

2026-04-05 07:1711阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计661个文字,预计阅读时间需要3分钟。

如何正确运用JavaScript的立即执行函数表达式(IIFE)进行代码封装?

在一般情况下,函数必须先定义后调用,才能被执行。以下是一个示例:

我们定义了一个函数`fn`,并立即调用它。打印结果为:

1

这是因为函数定义后立即执行了,所以输出了`1`。如果不调用,结果将永远不会显示。

我们知道,在一般情况下,函数必须先调用才能执行,如下所示,我们定义了一个函数,并且调用,

function fn(){ console.log(1); } fn();

打印结果为:

如果不调用的话,我们打印的结果永远不会显示。
所以这里就会提到我们的立即执行函数,所谓立即执行函数,就是不需要调用,立马就能执行的函数。

立即执行函数有两种最常见的写法:

  • (function(){})()
  • (function(){}())

举个例子:

(function fn(){ console.log(2); })()

打印结果为:

打印成功。

立即执行函数中的第二个小括号就相当于调用函数,我们同样可以给立即执行函数传参数,,将我们要传递的参数写在第二个()里面,作为实参,

如下:

(function fn(a,b){ console.log('a+b='+a+b); })(1,2)

打印结果为:

第二种立即执行函数使用方法和第一种基本相似,不在赘述。
需要注意的是:如果有多个立即执行函数,他们之间需要逗号分隔,否则会报错。同时,在立即执行函数里面,也可以采用匿名函数的形式书写。

如何正确运用JavaScript的立即执行函数表达式(IIFE)进行代码封装?

那么立即执行函数有什么作用或者好处呢?

它最大的作用就是独立创建了一个作用域。我们知道,javascript 中没有私有作用域的概念,如果在多人开发的项目上,在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉,而立即执行函数里面的变量都是局部变量,不会有命名冲突的情况。

到此这篇关于JavaScript立即执行函数的文章就介绍到这了,更多相关JavaScript立即执行函数内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

本文共计661个文字,预计阅读时间需要3分钟。

如何正确运用JavaScript的立即执行函数表达式(IIFE)进行代码封装?

在一般情况下,函数必须先定义后调用,才能被执行。以下是一个示例:

我们定义了一个函数`fn`,并立即调用它。打印结果为:

1

这是因为函数定义后立即执行了,所以输出了`1`。如果不调用,结果将永远不会显示。

我们知道,在一般情况下,函数必须先调用才能执行,如下所示,我们定义了一个函数,并且调用,

function fn(){ console.log(1); } fn();

打印结果为:

如果不调用的话,我们打印的结果永远不会显示。
所以这里就会提到我们的立即执行函数,所谓立即执行函数,就是不需要调用,立马就能执行的函数。

立即执行函数有两种最常见的写法:

  • (function(){})()
  • (function(){}())

举个例子:

(function fn(){ console.log(2); })()

打印结果为:

打印成功。

立即执行函数中的第二个小括号就相当于调用函数,我们同样可以给立即执行函数传参数,,将我们要传递的参数写在第二个()里面,作为实参,

如下:

(function fn(a,b){ console.log('a+b='+a+b); })(1,2)

打印结果为:

第二种立即执行函数使用方法和第一种基本相似,不在赘述。
需要注意的是:如果有多个立即执行函数,他们之间需要逗号分隔,否则会报错。同时,在立即执行函数里面,也可以采用匿名函数的形式书写。

如何正确运用JavaScript的立即执行函数表达式(IIFE)进行代码封装?

那么立即执行函数有什么作用或者好处呢?

它最大的作用就是独立创建了一个作用域。我们知道,javascript 中没有私有作用域的概念,如果在多人开发的项目上,在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉,而立即执行函数里面的变量都是局部变量,不会有命名冲突的情况。

到此这篇关于JavaScript立即执行函数的文章就介绍到这了,更多相关JavaScript立即执行函数内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!