什么是 IIFE,它的用途是什么?
IIFE或立即调用的函数表达式是在创建或声明后将被调用或执行的函数。创建IIFE的语法是,将function (){}
包裹在在括号()
内,然后再用另一个括号()
调用它,如:(function(){})()
(function(){
...
} ());(function () {
...
})();(function named(params) {
...
})();(() => {});(function (global) {
...
})(window);const utility = (function () {
return {
...
}
})
这些示例都是有效的IIFE。倒数第二个救命表明我们可以将参数传递给IIFE函数。最后一个示例表明,我们可以将IIFE
的结果保存到变量中,以便稍后使用。
IIFE的一个主要作用是避免与全局作用域内的其他变量命名冲突或污染全局命名空间,来个例子。
<script src="https://cdnurl.com/somelibrary.js"></script>
假设我们引入了一个omelibr.js
的链接,它提供了一些我们在代码中使用的全局函数,但是这个库有两个方法我们没有使用:createGraph
和drawGraph
,因为这些方法都有bug
。我们想实现自己的createGrap
什么是 IIFE,它的用途是什么?相关推荐
- JavaScript基础语法及小案例
目录 JavaScript基础语法 1. 变量声明和赋值 2. 数据类型 1) 基本数据类型 2) 复合数据类型(引用类型) 3) 特殊数据类型 3. 运算符 1) 算术运算符 2) 赋值运算符 3) ...
- 沙箱模式以及其使用到的IIFE
//沙箱//与外界隔绝的一个环境,外界无法修改该环境内任何信息,沙箱内的东西单独属于一个世界//360沙箱模式//将软件和操作系统进行隔离,以达到安全的目的//苹果手的app使用的就是沙箱模式去运行/ ...
- 【JS逆向百例】某音乐网分离式 webpack 非 IIFE 改写实战
关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 文章目录 声明 逆向目标 逆向过程 抓包分析 参数逆向 webpack 改写 IIFE 传数组 ...
- 函数——IIFE、作用域、函数调用、函数应用、闭包
IIFE 立即调用的函数表达式 IIFE的作用: 1.页面加载完成后只执行一次的设置函数 2.将设置函数中的变量包裹在局部作用域中,不会泄露全局变量 先来看一下不采用IIFE时的函数声明和函数调用: ...
- Java的反射作用_浅析Java 反射机制的用途和缺点
反射的用途 Uses of Reflection Reflection is commonly used by programs which require the ability to examin ...
- typedef的四个用途和两大陷阱
typedef的四个用途和两个陷阱 --------------------------------- 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如: c ...
- android怎么监听多点触摸_什么是多点触控技术,有哪些用途
自从乔布斯将触控技术用于苹果手机上,很多的手机厂商纷纷效仿,触控技术几乎成为手机的"标配".其实,触控技术早就存在,只是一直未能大面积用于各种设备中,本文将带您认识神奇的触控技术. ...
- 网络新手ip隐藏器_动态IP代理的用途
在如今互联网迅速发展的时代,我们的生活几乎离不开网络,而且网络也逐渐成为了大家赖以生存的工作.如何更好地运用网络已然成为了很多人的工作重心.对于互联网行业工作者来说,对于动态IP代理已经很普遍,但是我 ...
- 中key的用途_Micro Focus Operations Bridge Manager中的多个(RCE)漏洞
从供应商的网站上. OBM作为操作桥为您的IT操作提供了一个单一的控制中心.所有来自服务器.网络.应用程序.存储和基础设施中其他IT孤岛的事件和性能管理数据都会被整合到一个先进的中央事件控制台的单一事 ...
最新文章
- Visual Studio 2010 and .NET 4 RTM中文版发布
- 初入数据科学领域,你需要有七个这样的思维
- 【position也可以很复杂】当弹出层遇上了鼠标定位(下)
- Full Gc经历分析
- 【放置奇兵】新版公会战问题
- V-rep学习笔记:vrep中的实用工具
- why quantity change in item can cause CUMULAT_H changed as well
- 华为全款买了块支付牌照
- 我是直接学Swift还是Objective-C?
- 高德地图输入地址获取经纬度_不打开地图也能获取地址-利用百度地图API和Python实现...
- winqsb替代软件linux,winqsb软件64位-运筹学软件winqsb下载 v3.0免费版 附使用教程-下载啦...
- Linux驱动开发-编写MMA7660三轴加速度传感器
- c# 两行代码合并pdf文件
- win10电脑切换窗口输入法总是变换怎么办?
- TDSQL破圈背后:国产数据库加速出击
- 好用的邮箱客户端有哪些,办公用什么邮箱客户端呢?
- Chromium浏览器历史版本下载
- 从互联网大佬到田间养猪,佛系丁磊从未躺平
- 初中计算机教师个人总结报告,初中计算机教师度工作总结工作总结
- 计算机能用到的英语积累(持续更新)