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实现进度条效果”的完整攻略。 1. 前置知识 在开始实现进度条效果之前,需要具备以下知识: HTML和CSS的基础知识 JavaScript的基本语法和DOM操作 2. 实现思路 实现进度条效果可以采用如下思路: 创建一个div元素,作为进度条的显示区域。 在CSS中设置进度条的基本样式,包括进度条的颜色、高度、圆角等。…

    JavaScript 2023年6月11日
    00
  • JavaScript基础教程——入门必看篇

    JavaScript基础教程——入门必看篇 第一部分:JavaScript简介 JavaScript是一种广泛使用的脚本语言,它可以让网页具有交互性和动态性。本篇入门教程主要介绍JavaScript的基础知识,帮助初学者快速入门。 第二部分:变量、运算符和语句 在JavaScript中,变量、运算符和语句是非常基础且重要的概念。变量通过声明来定义,运算符可以…

    JavaScript 2023年5月17日
    00
  • bootstrapValidator.min.js表单验证插件

    下面是关于bootstrapValidator表单验证插件的完整攻略。 Bootstrap Validator 概述 Bootstrap Validator 是一个用来为表单组件添加验证的 jQuery 插件。它使用了 Twitter Bootstrap 的样式,并集成了 jQuery 的特性,可以非常方便地为表单添加验证规则。 安装步骤 首先需要下载 Bo…

    JavaScript 2023年6月10日
    00
  • js内置对象处理_打印学生成绩单的简单实现

    下面将详细讲解“js内置对象处理_打印学生成绩单的简单实现”的完整攻略。 前置知识 在学习这个问题之前,你需要了解以下知识: JavaScript对象和数组的基础概念 for循环和while循环的基础使用方式 键值对的概念 代码的排版和注释 控制台输出console.log()的使用方法 如果你对以上概念不熟悉,建议先学习相关的基础教程。 问题描述 在这个问…

    JavaScript 2023年5月28日
    00
  • requestAnimationFrame定时动画屏幕刷新率节流示例浅析

    下面我详细讲解一下“requestAnimationFrame定时动画屏幕刷新率节流示例浅析”的攻略。 简介 window.requestAnimationFrame() 是一个 JavaScript 函数,可用于通过浏览器的渲染引擎,来以最佳频率更新显示屏幕上的动画。 在某些情况下,使用 requestAnimationFrame() 可以连续重复执行某个…

    JavaScript 2023年6月11日
    00
  • JavaScript调试常见报错及原因分析

    JavaScript调试常见报错及原因分析 在JavaScript开发过程中,经常会遇到一些常见的报错,这些报错会影响到程序的运行。本文将介绍JavaScript调试常见报错及其原因分析的攻略。 报错类型 SyntaxError SyntaxError会在代码无法解析的情况下被抛出,例如: let a = 5 if (a == 5) { console.lo…

    JavaScript 2023年6月11日
    00
  • 如何写出优雅的JS 代码

    关于如何写出优雅的JS代码,以下是一些攻略: 1. 编写具有可读性的代码 编写具有可读性的代码是编写优雅代码的第一步。可读性是代码的口号。最好的方式是编写简洁、清晰和易于理解的代码。以下是几个技巧来实现具有可读性的代码: 有意义的变量和函数名称; 水平缩进和统一使用制表符或空格; 使用大括号来显式地表示代码块; 适当注释代码的用途。 具有可读性的代码有以下的…

    JavaScript 2023年5月27日
    00
  • 如何使用浏览器扩展篡改网页中的JS 文件

    使用浏览器扩展篡改网页中的JS文件可以用于修改网页一些不符合个人需求的行为,比如阅读模式、去广告、页面美化等。下面是详细的攻略步骤: 步骤一:安装浏览器扩展 首先需要在浏览器的应用商店中搜索安装一个支持JS代码注入的浏览器扩展。不同浏览器扩展功能不完全相同,例如Chrome浏览器可以安装“Tampermonkey”、Firefox浏览器可以安装“Grease…

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