JavaScript 立即调用函式 IIFE (Immediately Invoked Function Expression) 是什么?优缺点是什么?

立即调用函式 IIFE (Immediately Invoked Function Expression) 是什么?

JavaScript 中的立即调用函式 (IIFE,Immediately Invoked Function Expression),指的是一种在定义时立即执行的匿名函式,通常用于创建一个局部作用域,避免全局污染。

语法格式如下:

(function () {// Code to be executed
})();

在这种表达式中,函式定义与函式调用的括号是一起的,确保函式只会被执行一次,而不是定义后可以多次执行。在这个封闭的作用域中,变量和函式都不会污染全局环境。

立即调用函式的好处

创建局部作用域

通过使用 IIFE 可以创建一个局部作用域,避免全局变量的污染。以下代码可以看到,在 IIFE 中,有一个局部变量 localVariable。 localVariable 只能在 IIFE 内访问,不能在 IIFE 外访问,

// Global scope
var globalVariable = "global variable";(function () {// Local scope inside IIFEvar localVariable = "local variable";console.log(localVariable); // local variable
})();console.log(localVariable); // ReferenceError: localVariable is not defined
console.log(globalVariable); // global variable

避免命

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS/Fedora/Ubuntu/Debian 系统 wget 命令

wget 是云服务器安装环境和面板常用下载命令。下载软件或从远程服务器下载备份到本地服务器,也可以使用 wget 把文件下载到云服务器上。 VPS wget 命令最常用使用方法如下: 安装 wget 一般来说 wget 命令是系统自带的,方面安装环境和面板&…

多维时序 | Matlab实现BiGRU-Mutilhead-Attention双向门控循环单元融合多头注意力机制多变量时序预测

多维时序 | Matlab实现BiGRU-Mutilhead-Attention双向门控循环单元融合多头注意力机制多变量时序预测 目录 多维时序 | Matlab实现BiGRU-Mutilhead-Attention双向门控循环单元融合多头注意力机制多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.多维时序 …

族群争霸休闲养成小游戏

​游戏概述: 在一个由自然力量支配的幻想世界中,狼族与羊族的战争永无止境。 人族在两者之间寻求和平,建立起坚固的城墙,同时捕捉狼与羊来增强自身实力。 神族则在幕后观察,偶尔以神技介入战场,影响战局…

保障数据安全,提升性能:探秘Redis AOF持久化机制在在线购物网站的应用

AOF(Append-Only File)日志介绍 Redis使用AOF持久化来保证数据的可靠性。AOF日志是一个追加写文件,记录了所有对Redis数据进行修改的命令。 AOF的常规用途 通常,人们将Redis的AOF用于将后端数据库中的数据存储在内存中&#xf…

复盘-word

word-大学生网络创业交流会 设置段落,段后行距才有分 word-选中左边几行字进行操作 按住alt键进行选中 word复制excel随excel改变(选择性粘贴) 页边距为普通页边距定义 ##### word 在内容控件里面填文字(调属性&#xff09…

JavaScript使用

文章目录 一、JavaScript简介二、JavaScript引入方式1、内部脚本2、外部脚本 三、JavaScript基础语法1、书写语法&输出语句2、变量&数据类型3、运算符4、流程控制语句&函数 四、JavaScript对象1、Array2、String3、自定义对象 五、BOM1、Window2、History3、Locati…

扩展CArray类,增加Contain函数

CArray不包含查找类的函数,使用不便。考虑扩展CArray类,增加Contain函数,通过回调函数暴露数组元素的比较方法,由外部定义。该方法相对重载数组元素的“”符号更加灵活,可以根据需要配置不同的回调函数进行比较 //类型…

C语言————字符函数与字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数,如追加,拷贝,替换等等接下来我们就学习⼀下这些函数,并且自实现。 gets 这个指令大家…

十七、enumerate函数的用法

enumerate() 函数是 Python 内置函数之一,用于同时返回可迭代对象的索引和对应的值。 它的语法结构如下: enumerate(iterable, start0) iterable: 表示一个可迭代的对象,如列表、元组、字符串等。start: 可选参数,表示索引起始…

node mysql 同时向两张表插入数据

方法一 在Node.js中使用MySQL模块,如果需要同时向两张关联的表插入数据,通常不会通过一条SQL语句来完成,因为MySQL本身不支持一次插入操作跨多个表。但是,可以采用事务(Transaction)的方式来保证两个插入操作的原子性…

校招春招秋招,HR是如何筛选简历的?

一份简历在HR的眼中最多能停留15秒钟。 如果15秒内HR没有决定要通知你做在线测评,那么这事就算过去了。 那么问题来了,如果在15秒内,让HR对你产生兴趣? 1、简历布局 人在浏览信息的时候,习惯性的是从上往下&…

[数据集][目标检测]光伏板太阳能板缺陷检测数据集VOC+YOLO格式2400张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2400 标注数量(xml文件个数):2400 标注数量(txt文件个数):2400 标注…

The display: inline property prevents width from having an effect.

The display: inline property prevents width from having an effect. Try setting display to something other than inline. ---------------------------------- display: inline 不支持元素的 width 或 height 属性,若要元素 width 或 height 生效,…

全网上线 IP 归属地功能,一文教你如何实现

细心的朋友们可能已经发现了,先在抖音、知乎、快手、小红书等这些平台已经上线了“网络用户显示 IP 的功能”,境外用户显示的是国家,国内的用户显示的省份,而且此项显示无法关闭,归属地强制显示。 1获取用户 IP 地址 …

LLM 推理优化探微 (2) :Transformer 模型 KV 缓存技术详解

编者按:随着 LLM 赋能越来越多需要实时决策和响应的应用场景,以及用户体验不佳、成本过高、资源受限等问题的出现,大模型高效推理已成为一个重要的研究课题。为此,Baihai IDP 推出 Pierre Lienhart 的系列文章,从多个维…

倒序排列的基本概念和应用场景

倒序排列的基本概念 倒序排列,也称为降序排列,是一种数据组织形式,其中数据按照从大到小的顺序排列。这与升序排列相反,升序排列是按照从小到大的顺序来组织数据。在编程、数据库管理和数据分析等领域中,倒序排列是一种…

企业如何安全参与开源项目?

【开源三句半】 企业参与开源潮, 安全创新都重要, 持续投入不可少, 眼光独到。 开源已经成为构建现代软件的常见方式,这不仅局限于IT技术本身,更推动了多个行业的数字化发展。企业决定引入开源项目打造商业软件时&…

简介:基于 OpenTiny 组件库的 rendereless 无渲染组件架构

在 HAE 自研阶段,我们实现的数据双向绑定、面向对象的 JS 库、配置式开发的注册表等特性,随着前端技术的高速发展现在已经失去存在的意义,但是在 AUI 阶段探索的新思路新架构,经过大量的业务落地验证,再次推动前端领域…

mmap匿名映射区

在创建映射区时,我们创建了一个文件,后面又需要unlink删除,然后munmap释放内存映射区,所以一开始就没必要创建。匿名映射区是指创建的映射区域不与任何文件关联,而是由操作系统分配的匿名内存。 mmap 内存映射里所谓的…

Vue中ElementPlus的按需导入

目录 1 新建一个Vue项目 2 安装ElementPlus 3 安装按需导入的组件 4 配置文件中添加相关内容 1 新建一个Vue项目 可看本人的这篇文章《创建一个Vue项目(含npm install卡住不动的解决)》 2 安装ElementPlus 在项目文件夹目录下,输入该指…