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

当我们想要立即调用一个函数时,就需要用到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日

相关文章

  • JavaScript中的稀疏数组与密集数组[译]

    JavaScript中的数组可以是密集的,也可以是稀疏的。密集数组即为连续的数组元素,稀疏数组表示有些元素被省略了。本文将详细讲解JavaScript中稀疏数组和密集数组的概念和行为。 什么是稀疏数组? 稀疏数组是指数组元素具有不连续性,或者说中间有空洞的数组。在稀疏数组中,一些元素是不存在的,我们可以用下标访问到的元素即表示存在的,没法访问到的元素则被视为…

    JavaScript 2023年5月27日
    00
  • Html获取登陆用户名的示例代码

    获取登录用户名是Web开发中很常见的需求。本文将分享两个示例代码,分别使用前后端不同的技术,帮助你在自己的网站中获取登录用户名。 1. 基于后端Session的示例代码 如果你的网站是基于后端Session来实现用户登陆的,那么你可以使用下面的这段PHP代码来获取当前登录用户的用户名: <?php session_start(); if(isset($…

    JavaScript 2023年6月11日
    00
  • 深入了解JavaScript 的 WebAssembly

    深入了解JavaScript 的 WebAssembly攻略 WebAssembly简介 WebAssembly是一种为Web设计的全新底层虚拟机。它是一种二进制格式,是为一些可以编译为WebAssembly的语言所设计的。WebAssembly可以提供比JavaScript更好的性能和更高的安全性。 WebAssembly的使用 1. JavaScript…

    JavaScript 2023年5月19日
    00
  • js显示当前系统时间的代码

    下面是关于JS显示当前系统时间的完整攻略: 1. 通过Date对象获取当前系统时间 在JS中,可以通过Date对象来获取当前系统时间。通过创建一个Date对象,我们可以获取当前的年、月、日、时、分、秒等时间信息。下面是获取当前时间的示例代码: const now = new Date(); // 创建Date对象 const year = now.getFu…

    JavaScript 2023年5月27日
    00
  • Javascript Date toTimeString() 方法

    以下是关于JavaScript Date对象的toTimeString()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的toTimeString()方法 JavaScript的toTimeString()方法返回表示日期时间部分的字符串,该字符串格式为本地时间。该方法不接受任何参数。 下面是对象的toTimeString()方法的例…

    JavaScript 2023年5月11日
    00
  • 用 Javascript 验证表单(form)中的单选(radio)值

    下面是用 JavaScript 验证表单中的单选(radio)值的完整攻略: 1. 获取单选按钮的值 首先,我们需要通过 document.getElementsByName() 方法获取所有同名的单选按钮,然后循环遍历每个单选按钮,判断哪个单选按钮被选中(即 checked 属性为 true)。 下面是一个获取选中的单选按钮值的示例代码: // 获取所有同…

    JavaScript 2023年6月10日
    00
  • js 函数式编程学习笔记

    下面是学习 js 函数式编程的完整攻略: 1. 学习函数式编程基础 函数式编程是一种编程范式,需要掌握一些基础概念和语法,例如: 纯函数:不会修改外部状态,返回结果只依赖于输入参数 函数柯里化:把接受多个参数的函数变换成接受一个单一参数的函数 高阶函数:函数可以作为参数或返回值使用 可以通过阅读函数式编程相关的书籍或文章来学习这些基础知识。推荐的书籍有《Ja…

    JavaScript 2023年6月10日
    00
  • Javascript的严格模式strict mode详细介绍

    Javascript的严格模式(Strict Mode)是ES5引入的一种新模式。它主要针对一些不规范的代码加强了规范性,以避免开发中一些隐形错误、提高代码质量和安全性。在Javascript中启用严格模式的方法是在代码开头添加”use strict”;即可。 使用严格模式,将会导致Javascript的一些默认行为发生变化。 下面,我们将逐一讲解在使用Ja…

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