JavaScript立即执行函数的三种不同写法

yizhihongxing

当我们想要立即调用一个函数时,就需要用到JavaScript立即执行函数。立即执行函数是一个函数执行完毕后立即被调用执行,而不是等到再次调用。它常用于模块化开发,而这个函数中的变量不会污染全局变量。

下面来讲解三种不同写法:

写法一:使用圆括号把函数括起来

(function() {
  // 函数体
})();

这是最常见的一种写法,把函数用圆括号括起来,这个圆括号是把函数表达式变成了函数调用表达式,然后再使用另外一个圆括号把整个表达式括起来进行调用。

这种写法也是非常常用的模式,圆括号会让浏览器把表达式解析完毕之后再去执行。这样会避免一些因误解产生的错误。

示例:

(function () {
  var name = "Jack";
  console.log(name); // "Jack"
})();
console.log(name); // ReferenceError: name is not defined

在上面的例子中,我们创建了一个立即执行函数并给它命名,然后立即调用它。该函数中的变量name只能在该函数中使用,不能在外部访问。

写法二:使用函数表达式

函数表达式的写法与写法一很相似,只是不加圆括号直接使用函数表达式代替函数进行调用。

let func = function() {
  // 函数体
}();

示例:

let func = function () {
  var name = "Jack";
  console.log(name);
}();
console.log(name); // ReferenceError: name is not defined

可以看到,这两种写法实现效果一样,只是使用方式不同,可以按个人喜好进行选择。

写法三:使用自执行函数

使用自执行函数需要首先定义一个匿名函数,然后在声明后面紧跟两个圆括号(),最后加上一个括号把整个表达式括起来调用。

!function(){
  // 函数体
}();

示例:

!function () {
  var name = "Jack";
  console.log(name);
}();
console.log(name); // ReferenceError: name is not defined

在上面的代码中,我们使用了一个自执行函数,这个函数中的变量name只能在该函数中使用,外部不能访问。自执行函数的这种写法常用于前端开发中的代码压缩与混淆。

综上所述,以上三种立即执行函数的写法都是可以实现同样的效果,写法一和写法二较为常用,而写法三适用于一些特殊场景。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript立即执行函数的三种不同写法 - Python技术站

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

相关文章

  • js的toUpperCase方法用法实例

    当你需要将 JavaScript 字符串中的所有字符都转换为大写时,你可以使用 toUpperCase() 方法。下面是关于如何在 JavaScript 中使用toUpperCase() 方法的完整攻略。 Markdown 格式文本 首先,您需要了解如何在 Markdown 中编写代码块。在代码块之间包含代码时,您可以使用反引号引用代码块: // 这里是代码…

    JavaScript 2023年6月10日
    00
  • xml转json的js代码

    XML转JSON是开发过程中常见的问题,有时候需要将后端返回的XML数据转换为前端需要的JSON格式。以下是XML转JSON的JS代码的详细攻略: 一、XML转JSON的原理 XML和JSON是两种不同的数据格式,因此需要编写代码将XML转换为JSON格式。XML数据以标签为基础,有嵌套的结构关系,而JSON数据则以键值对为基础,没有嵌套的结构关系。因此,将…

    JavaScript 2023年5月27日
    00
  • 使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)

    下面就为您详细讲解如何使用JavaScript实现网页秒表功能。 一、制作基本网页结构 首先,在HTML文件中添加一个包含开始、暂停、继续、重置按钮和显示计时时间的元素。具体代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> …

    JavaScript 2023年5月27日
    00
  • 详细教你微信公众号正文页SVG交互开发技巧

    详细教你微信公众号正文页SVG交互开发技巧 介绍 在微信公众号开发中,SVG(Scalable Vector Graphics)是很方便的一种图形格式,可以实现图片的高清缩放以及交互式效果。本文将介绍如何利用SVG开发微信公众号正文页的交互功能。 使用技巧 1. SVG基础知识 SVG是一种使用XML描述2D图形的语言,它定义了诸如图形、文本、滤镜和动画等可…

    JavaScript 2023年6月10日
    00
  • javascript函数命名的三种方式及区别介绍

    对于“javascript函数命名的三种方式及区别介绍”,可以从以下三种方式展开讲解: 第一种方式:函数声明 使用函数声明语句来创建函数,这是最常见的一种函数命名方式,也是最容易理解的方式。 函数声明的基本结构如下: function functionName() { //函数体 } 示例: function greeting() { console.log…

    JavaScript 2023年5月27日
    00
  • JavaScript中解析JSON数据的三种方法

    JavaScript中解析JSON数据的三种方法涉及到解析JSON的格式,这里我们假设需要解析的JSON数据为以下格式: { "name": "John Doe", "age": 30, "isAdmin": true, "hobbies": [ "…

    JavaScript 2023年5月27日
    00
  • 学习JavaScript设计模式之状态模式

    以下是详细的攻略: 学习JavaScript设计模式之状态模式 状态模式是什么? 状态模式是一种行为型设计模式,它允许对象在其内部状态更改时更改其行为。这个模式的主要想法是通过创建有限状态机来满足状态相关行为的需要。 状态模式的优点? 优化大型、复杂代码的结构。 减少了 if 语句的使用,使得代码更加简洁。 更好的可扩展性,可以方便地增加、删除或修改状态,而…

    JavaScript 2023年5月28日
    00
  • javascript对象的多种合并方式详解

    下面是针对 “JavaScript 对象的多种合并方式” 的完整攻略: 标题 JavaScript 对象的多种合并方式详解 简介 JavaScript 中对象合并是一种非常常见的操作,它可以让开发者把已有的对象拼接在一起,生成一个新的对象。本文将会详细讲解 JavaScript 中对象合并的多种方法。 对象合并的多种方式 Object.assign() Ob…

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