js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?

JavaScript立即执行函数是一种特殊的函数表达式,它可以立即自动运行,而不需要在其他地方调用。在JavaScript中,我们可以使用两种不同的声明方法来创建立即执行函数。第一种是使用普通的函数声明方法,代码如下:

(function() {
   //code to be executed immediately
})();

这种声明方法使用一个内部或匿名函数,将其包装在括号中并跟随一对空括号执行。当JavaScript引擎遇到这样的代码时,它将立即执行包装在内部函数内部的代码。

第二种声明方法是通过使用函数表达式来创建立即执行函数,代码如下:

(function() {
   //code to be executed immediately
}());

这种方法使用与第一种方法类似的语法,但是将第二个括号放在包含匿名函数的括号外面。两种方法的效果一样,但是它们的语法略有不同。

那么这两种不同的方式有什么异同点呢?

  • 语法方面:第一种方法使用圆括号包围匿名函数和函数调用,函数调用则需要被直接跟在圆括号后面。第二种方法则在匿名函数后加一对圆括号,以便其自我调用。
  • 性能方面:对于旧一点的浏览器来说,第二种方法的性能会稍微好一些,因为解析器不需要遇到分组运算符,因此解析速度快一些。但是对于现代浏览器来说,两种方法的性能差异已经非常小了,因此不必太过于担心性能问题。

下面是两个例子,分别使用第一种和第二种声明方法来创建立即执行函数:

示例1:

(function(){
    var a = 1;
    var b = 2;
    console.log(a + b);
}());

示例2:

(function(){
    var a = 1;
    var b = 2;
    console.log(a + b);
})();

这两个示例的输出结果是相同的,都将结果输出为3。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别? - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 深入探密Javascript数组方法

    深入探密Javascript数组方法 前言 Javascript中的数组是一组有序且可变的值的集合。数组为我们提供了一组非常简便、高效的API来处理集合的数据,比如增加、删除、查找等操作。在本篇文章中,我们将深入探讨Javascript数组的方法。 1.数组的创建 1.1 常用数组的创建方式 数组可以通过以下方式创建: 1.使用数组字面量创建数组。 let …

    JavaScript 2023年5月18日
    00
  • clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析

    首先,这些属性都是 MouseEvent 对象的属性,表示事件发生时鼠标的位置信息。 接下来,我们逐个来分析一下这些属性的区别。 clientX clientX 表示事件发生时,鼠标在浏览器视口中的水平坐标。也就是说,它是相对于浏览器窗口左上角的水平距离。 下面是一个示例: <div id="box" style="wid…

    JavaScript 2023年6月11日
    00
  • Javascript中的对象属性是有序的吗

    在JavaScript中,对象可以定义为一组无序的属性集合。每个属性由一个键(key)和一个值(value)组成。但是,对象属性的顺序背后是有一定规则的。 实际上,JavaScript中的对象属性是无序的。这意味着添加对象属性的顺序并不重要,因为它们在对象中的顺序不是固定的。这与Python中的字典类似,也是无序的。 但是,如果你在JavaScript中使用…

    JavaScript 2023年5月27日
    00
  • 基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果

    实现倒计时的方式有很多种,下面我将详细讲解一种基于JavaScript代码实现简单易用的倒计时效果的攻略。 步骤一:HTML结构 首先,我们需要在HTML中构建出需要展示倒计时的元素,我们可以使用两个div元素,其中一个用来显示时分秒,另一个用来显示天数。 以下是示例代码: <div id="countdown"> <d…

    JavaScript 2023年5月27日
    00
  • 深入理解JS中的Function.prototype.bind()方法

    关于深入理解JS中的Function.prototype.bind()方法,本文将分为以下几个部分进行详细讲解: Function.prototype.bind()介绍 Function.prototype.bind()的参数和返回值 Function.prototype.bind()与this的绑定 Function.prototype.bind()的实现…

    JavaScript 2023年5月27日
    00
  • C#如何使用Bogus创建模拟数据示例代码

    C#是一种广泛应用于Web开发和Windows桌面应用程序的编程语言。Bogus是一个数据生成库,允许开发人员使用此库来创建虚假数据,用于测试和其他目的。本文将详细介绍如何使用Bogus来创建模拟数据,并提供示例代码。 安装Bogus库 首先,我们需要通过NuGet包管理器安装Bogus库。打开Visual Studio,在解决方案资源管理器中右键单击项目并…

    JavaScript 2023年5月28日
    00
  • JavaScript中清空数组的三种方法分享

    下面是详细讲解“JavaScript中清空数组的三种方法分享”的完整攻略。 JavaScript中清空数组的三种方法分享 在JavaScript中,我们经常需要清空一个数组,以便重新填充数据。本文将介绍三种方法来清空一个数组。 方法一:重置数组变量 该方法是最简单的一种方法。只需要将数组变量重新赋值为空数组即可清空该数组。 let arr = [1, 2, …

    JavaScript 2023年5月27日
    00
  • vue elementUI 表单校验的实现代码(多层嵌套)

    实现Vue ElementUI表单校验的过程一般包含以下步骤: 引入ElementUI的表单组件和校验规则 在HTML模板中编写相应的表单代码 在Vue实例中定义表单数据和验证规则 编写验证方法并将其绑定到表单组件中 下面将详细讲解这些步骤。 引入ElementUI表单组件和校验规则 在使用ElementUI进行表单校验之前,需要先引入相应的表单组件和校验规…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部