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

yizhihongxing

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日

相关文章

  • jquery 时间戳转日期过程详解

    下面是详细讲解“jquery 时间戳转日期过程详解”的完整攻略。 1. 背景 在前端开发中,我们经常需要将时间戳转换成可读性较好的日期。很多人使用 JavaScript 的内置函数进行转换,但很多开发者更愿意使用 jQuery 来完成这一任务,因为它更加简单并且易于操作。本文将详细介绍如何使用 jQuery 将时间戳转换成日期。 2. 前置知识 在本文中,我…

    JavaScript 2023年5月27日
    00
  • js实现class样式的修改、添加及删除的方法

    Javascript可以通过操作DOM元素来实现对class样式的修改、添加及删除。 修改class样式的方法 要修改DOM元素的class属性,可以使用classList属性,该属性包含了添加、删除和切换class的方法。 const element = document.querySelector(".target-element")…

    JavaScript 2023年5月19日
    00
  • alert中断settimeout计时功能

    当Javascript代码执行到setTimeout函数时,它会将回调函数放到执行队列里,并设置一个计时器来等待指定的延迟时间。计时器开始后,JS代码会继续执行后续的代码,而不会等待计时器结束后再执行。因此,在执行setTimeout的代码后,如果发生代码中断,会导致计时器无法正常触发,也就是说setTimeout的计时功能被中断了。 其中,常见的中断代码包…

    JavaScript 2023年5月28日
    00
  • JavaScript数组Array对象增加和删除元素方法总结

    JavaScript数组Array对象增加和删除元素方法总结 增加元素 push() 方法 可以使用push()方法将元素添加到数组的末尾。 语法: arr.push(item1, item2, …, itemX) 示例: var fruits = ["apple", "banana"]; fruits.push(…

    JavaScript 2023年5月27日
    00
  • JS实现轮播图小案例

    JS实现轮播图小案例的攻略如下: 1. 设计HTML结构 在页面上设计轮播图的HTML结构,通常采用ul标签加li标签的方式,li标签内嵌套img标签。同时也可以添加左右切换箭头、小圆点等控件。 示例代码: <div class="slider"> <ul class="slider-list"&gt…

    JavaScript 2023年6月11日
    00
  • Javascript Date getUTCHours() 方法

    以下是关于JavaScript Date对象的getUTCHours()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的getUTCHours()方法 JavaScript Date对象getUTCHours()方法返回当前日期的小时数,以协调世界(UTC)为基准。返回值是一个0到23之间的整数下面是使用Date对象的getUTCHo…

    JavaScript 2023年5月11日
    00
  • HTML5打开手机扫码功能及优缺点

    HTML5中提供了WebAPI,其中的一个功能是通过调用摄像头打开二维码扫码功能。使用该功能需要前端开发者在代码中集成相应的API,同时也需要从后端获取相关的数据。下面是详细的步骤和注意事项。 步骤一:引入JsQRScanner库 使用JsQRScanner库可以更方便地实现扫描二维码的功能。该库已经包含了需要的API和代码,只需要直接引入即可。在HTML的…

    JavaScript 2023年6月11日
    00
  • JS Common 2 之比较常用到的函数

    JS Common 2 之比较常用到的函数 在JavaScript中,有一些函数几乎在每个项目中都会用到,这些函数涵盖了数组、字符串等数据类型的处理,本文将对这些函数进行详细讲解。 Array.prototype.map() 定义 map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 语法 array.map(callb…

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