JavaScript立即执行函数的解释分析(4)—总结篇

JavaScript中立即执行函数实例详解 前言 js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行。 ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此。 下面话不多说了,来一起看看详细的介绍吧。 通常我们声明一个函数有以下几种方式: // 声明函数f1 function f1() { console. 立即下载
说明

这次来对立即执行函数 Immediately-Invoked Function Expression (IIFE) ,做最后的总结,会把前面几篇提到的内容做一个整合,这样立即执行函数就算是说完了。

解释

我们回到最初,看代码

(function (){
    console.log(1);
})();

(function (){
    console.log(2);
}());

这是两种比较常见的立即执行函数的写法,这里提两点注意事项!!!
1、函数调用,需要 函数表达式 (),这样来调用,如果是 函数声明 (),就会报错。

var a=function (){
    console.log(1);
}();     //可以输出1,( )前面是函数表达式

function b(){
    console.log(2);
}
b();    //可以输出2,( )前面是函数表达式

function c(){
    console.log(3);
}();   //报错,( )前面是函数声明

2、javascript中圆括号()里面不能包含语句,所以在这一点上,解析器在解析function关键字的时候,会将相应的代码解析成函数表达式,而不是函数声明。

(function c(){
    console.log(3);
})();   //可以输出3,( )前面是函数表达式

所以我们明白了,为什么最开始的那两种立即执行函数的写法,可以起作用了,因为()把函数声明解析为了,函数表达式,而函数表达式与()一起使用,就能调用函数了,所以,我们只要把函数声明变为函数表达式,然后搭配(),就可以调用函数了,请看这些写法。

+function (){
    console.log(1);
}();

-function (){
    console.log(2);
}();

!function (){
    console.log(3);
}();

delete function (){
    console.log(4);
}();

void function (){
    console.log(5);
}();

~function (){
    console.log(6);
}();

+、-、!、delete、void、~、()等其他一些运算符,都可以将函数声明转换为函数表达式,所以立即执行函数的写法是多种多样的,但是用()的方法会更清楚一些。

作用

立即执行函数,可以避免全局变量的污染

这里写图片描述

定义一个全局变量a,第一次能打印出来,第二次也能打印出来,用立即执行函数的写法,在函数中也定义一个变量a,函数执行了,打印了a,然后再次打印 a 的时候,打印出的是全局变量的a,立即执行函数中的变量a已经没有了。(函数执行后,函数中的变量如果没有被继续引用,就会被释放),而全局变量a,还是存在的,所以,立即执行函数可以避免全局变量的污染 , 也防止产生冲突。
当函数只需要执行一次的时候,我们选择立即执行函数的方式也是很好的。

总结

立即执行函数,相信大家应该明白了,到此算是把立即执行函数说完了,如果文中有什么问题,也非常欢迎大家指正。

WCK Operation (WCK 操作) LPDDR6 SDRAM采用双时钟系统(WCK和CK),其中WCK频率是CK的两倍。为确保数据正确传输,需通过WCK2CK同步操作使两种时钟对齐。LPDDR6支持两种同步模式:Auto-sync off模式和WCK Always on模式,可通过MR22寄存器选择。同步操作由特定命令(Read/Write/MRR等)触发,需在满足特定时序参数(如tWCKENL、tWCKPRE等)后完成。同步前必须完成WCK2CK训练,且不同操作(读取/写入/CAS)有各自的时序要求。该机制确保数据在正确时钟相位下传输,是L 阅读详情

相关推荐

恶意代码实验3:Word宏病毒实验

只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。回答不正确三次,即可自动跳出病毒程序,但那时已经出现几十个文档。1、打开的宏编辑器如图所示,即可编写病毒代码。

qq_63949327的博客 6506

JavaScript 之 立即执行函数

1、定义 ​ 声明一个函数,并立即调用这个函数,此时这个函数就是立即执行函数,简单来说就是定义函数之后立即执行该函数。立即执行函数一般也写成匿名函数的形式,匿名函数写法为 function(){},就是使用function关键字声明一个函数,但是未命名的函数。关于匿名函数有一点要注意的是:匿名函数不能单独使用,否则会报错,至少需要用 () 包裹起来。 2、作用 ​ ① 不需要为函数命名,避免污染全局变量。 ​ ② 创建一个独立作用域,这个作用域里面的变量,外部访问不到,避免变量污染。 ​ ③ 闭包和

weixin_45092437的博客 4474

SAP与泛微OA集成(半导体行业)

本项目通过SAP PO中间件集成SAP与泛微OA在半导体行业的应用,由于行业特殊性,广泛深入应用了RSA加密等特性

集信通 1164

JavaScript 立即执行函数

在 JavaScript 中,立即执行函数(Immediately Invoked Function Expression,IIFE)是一种特殊的函数表达式,它在定义后立即执行,而不需要显式调用。立即执行函数是一种强大的技术,可以用于多种情况,包括创建私有作用域、模块化开发和避免全局命名冲突等。是立即执行函数内部的私有变量和函数。在函数外部无法访问它们。参数的立即执行函数,并在调用时传递了参数值为。函数体内的代码会立即执行。上述代码定义了一个匿名函数,并在定义后使用。上述代码中,立即执行函数返回一个包含。

qq_41045651的博客 851

SAP BTP-Cloud foundry 构建并部署JAVA应用程序

本文为 SAP BTP Java 应用程序的简单实例, 我们可以用此实例来熟悉SAP BTP 中的java应用开开发流程.在你完成改示例java应用程序以后, 我们可以直接使用该java应用程序进行后续的开发流程, 或直接构建一个新的JAVA应用程序来支持新的业务开发。

seyafly的博客 803

H3C设备VRF配置实战:5步搞定多业务网络隔离(附排错技巧)

本文详细介绍了在H3C设备上配置VRF(虚拟路由转发)实现多业务网络隔离的实战方法。通过五步配置流程,从创建VPN-instance、绑定接口到配置独立路由表,帮助网络工程师在单台设备上构建逻辑隔离的企业级网络,并分享了高级路由配置与常见排错技巧。

gold8的专栏 939

javascript中的立即执行函数

1. 避免命名冲突:可以将代码包装在立即执行函数中,以便在全局范围内创建作用域。由于 IIFE 中的变量在外部是不可访问的,因此可以避免与全局命名空间中的其他变量发生冲突。2. 模块化代码:IIFE 可以用于将相关代码封装在一起,创建一个私有作用域,并确保模块的变量和函数不会在其他地方被访问或修改。3. 性能优化:立即执行函数可以减少全局变量的使用,从而减少命名冲突的可能性,提高代码性能和可维护性。js函数的定义和调用和其他语言差不多,和定义在对象里面的函数也是一样的调用方法。

qq_68805187的博客 395

莆田市C++专项选拔第一轮题4

现在小明同学想要从两堆硬币中各选择一枚硬币,使得两枚硬币的面值之和 不超过 k。不同的硬币组合,就算面值相同,也视为不同的方案。现在他把这些硬币分成了两堆,已知两堆硬币分别有 n 和 m 枚硬币。可选方案有: (1,2), (1,1), (1,1), (5,2), (5,1), (5,1),共 6 种。第一行三个整数 n, m, k,分别表示第一堆硬币的数量,第二堆硬币的数量,以及面值之和的上限。对于30%的数据,1 ≤ n , m ≤ 1000 , 1 ≤ b , c ≤ 1000。

lpstudio的博客 925

JavaScript进阶(二十三):立即执行函数(匿名函数)( ( ) { } ( ) )含义解析

return x*x;}(10));这是赋值语句;这是一个匿名函数;所谓的匿名函数是指它没有自己的名字,既不是拥有一个函数名,也不是将函数赋给一个变量地址用于日后的调用;为什么会有这样的函数呢,因为有时候只是临时地一次性地使用一个函数,用过了这个函数也就再没用了,那么这个时候就用到了匿名函数(当然,并不一定说只有一次性的才会用到匿名函数,还有其它的情况,不一一举例了。函数()这样的语句我们都知道是让一个函数运行,而括号中的值表示传值,比如:那么,程序执行到name();

IT全栈 华强工作室 1042

【yolov8】与yolov5的区别及改进详解

yolov8-----有点厉害的目标检测框架.

qq_44878985的博客 3万+

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现 BRDF简介 再介绍BRDF之前我们要引入渲染方程这个东西: 其中L表示辐射率,其公式为: 它表示了一个拥有辐射强度Φ的光源在单位面积A,单位立体角ω上的辐射出的总能量。 辐射率是辐射度量学上表示一个区域平面上光线总量的物理量,它受到入射光线与平面法线间的夹角θ的余弦值cosθ的影响:当直接...

小龙虾的博客 1万+

JS-立即执行函数

javascript中没用私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉,根据javascript函数作用域链的特性,可以使用这种技术可以模仿一个私有作用域,用匿名函数作为一个“容器”,“容器”内部可以访问外部的变量,而外部环境不能访问“容器”内部的变量,所以( function(){…使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。

A_lexzanda的博客 413

YOLO26优化:注意力魔改 | SKAttention注意力,自适应地调整其感受野大小,效果优于SENet

SKAttention输入自适应地调整其感受野大小的能力

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 251

【前端 教程】详解 立即执行函数

【前端 教程】立即执行函数 详解 1、定义 立即执行函数:声明一个函数,并马上调用这个匿名函数就叫做立即执行函数;即立即执行函数是定义函数以后立即执行该函数。 2、立即函数的写法 在理解立即函数写法之前 需要先回顾一下JS的函数定义的几种方式 这样会便于更好理解立即执行函数、 ps:JS中函数定义方法的自行脑补 我们定义好函数之后,立即调用该函数,这时不能在函数的定义后面直接加圆括号,这会产生语法错误。 //这是错误的 function fn(){}() 这是因为:function 这个关键字,既可以

菜鸟的后花园 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

js立即执行函数

一、什么是立即执行函数 顾名思义,声明一个函数并马上调用这个函数就叫做立即执行函数;也可以说立即执行函数是一种语法,让你的函数在定义以后立即执行,又叫自执行函数; 二、立即执行函数的写法 立即执行函数的写法有三种: ( function ( “ 参数 ” ) { " 函数方法 " ; } ) ( “ 给参数传的值 ” ) ( function ( " 参数 " ) { “ 函数方法 ” ; } ( " 给参数传的值 " ) ) ! function ( " 参数 " ) { " 函数方法 " ; } (

HuangsTing的博客 4832

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaScript 立即执行函数篇

JavaScript 立即执行函数篇(1) 它的形式:(2) 它的写法:(3) 拓展: 什么是立即执行函数? 比如说我现在在全局 function a(){},function b(){},这两个函数假如说写在全局,如果 JavaScript 不执行完,这两个函数永远都是等待被执行,永远释放不了,假如定义一个函数你只想用一次,后边就不用他了,他还一直写在全局不释放,这样的话就很占空间了,鉴于此,J...

山大王杨 346

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JavaScript基础之立即执行函数

在JavaScript中有时候看到一些很神奇的函数比如下面截图: 这种函数只要浏览器加载的时候会自动运行,而需要调用,前面在闭包的时候也说过这种函数,一般将其称之为:立即执行函数。 立即函数的特征: 会自动执行 只会执行一次 立即执行函数格式 立即执行函数一般有格式如下: # 格式一(//W3C 推荐这种写法) (function (){ }()) #格式二 (但是这个才是最常用的方式之一) (function (){ })(); 其实上面还可以看出立即执行

u011863822的博客 1694

js 中的立即执行函数

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!点击【学习资料】即可获取!点击【学习资料】即可获取![外链图片转存中…(img-wzMbM7Us-1711681017354)][外链图片转存中…(img-b6Ix6ua5-1711681017354)]点击【学习资料】

2401_83641491的博客 1367

JavaScript中的立即执行函数

JavaScript中立即调用函数表达式(IIFE)是一个在定义时就会立即执行的 JavaScript 函数。 关于 IIFE (Immediately Invoked Function Expression 立即调用函数表达式)可见IIFE(立即调用函数表达式) - 术语表 | MDN

cnds123的专栏 1979

立即执行函数

JS 立即执行函数可以让函数在创建后立即执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行。 1、立即执行函数的写法 立即执行函数通常有下面两种写法: //第一种写法 (function(){ ... })(); //第二种写法 (function(){ ... }()); 2、立即执行函数的作用 立即执行函数只有一个作用:创建一个独立的作用域。这个作用域里面的变量,外面访问不到(即避免了「变量污染」)。 面试题: var liList = ul.getElemen

艺艺艺艺儿ya的博客 1121

JavaScript初学 学习笔记5:JavaScript之立即执行函数

前言 如果我在全局的范围内定义了一个函数 <script> function a(){ } function b(){ } </script> 这两个函数除非等到执行之前,是不是一直处于等待被执行的情况,而一直等待被执行 是不是占用空间,除非等到JavaScript被执行完,才能把空间给释放掉 更特殊的时候,有的函数(例如针对初始化功能的函数)从出生倒塌执行完,他就被执行了一次,这种函数我们一般不想像上述那种定义方式来实现,我们给出了一种叫做 立即执行函数 立即执行函数(I

chenyu-max 1963

JS 立即执行函数

一、立即执行函数是什么? 1. 声明一个匿名函数 2. 马上调用这个函数 以上例子解析: 声明了一个匿名函数 function(){alert("我是匿名函数")} 用括号 把这个函数包起来 在最后加上一个括号 为什么要在函数加括号? 文章参考:JS 3种函数写法:函数声明、函数表达式、匿名函数。(立即执行函数 写法由来) https://blog.youkuaiyun.com/we...

weixin_41796631的博客 288

JavaScript匿名、具名函数与立即执行函数IIFE详解

JavaScript中的函数作用域的存在就是为了把变量和函数“隐藏”起来 符合我们的最小特权原则 同时它的另一个好处是可以避免同名标识符的冲突 今天主要来谈谈这个立即执行函数 在此之前的复习一下匿名函数与具名函数匿名函数与具名函数无论是匿名还是具名,都是针对函数表达式来说的 函数声明那就必须得有名字了,否则会报错的function foo(){ //函数声明 //... } 这

尐轩web前端网络日志 5362

JS立即执行函数

一、介绍    所谓立即执行函数(Immediately-Invoked Function Expression),即在函数表达式之后加()就可以使函数自执行。注意:不能再函数声明后加括号()。(function foo(){/* code */}()); //正确,推荐这样使用 (function foo(){/* code */})(); //正确,这样可以var foo = function...

sinat_34032652的博客 1354

js立即执行函数_JavaScript之闭包和立即执行函数

一说起闭包,可能是JS(ES5)初学者比较头疼的地方,比较晦涩难理解。在这里结合编码过程中的实际经验,通过深入浅出描述去讲解下闭包。首先,得先知道闭包的定义,为了便于理解,可以这样思考闭包即一个函数,什么函数呢?就是能访问另一个函数作用域的函数。常用的方式创建闭包的常见方式,就是在一个函数内部创建另一个函数。接着我们从javascript的机制上了解闭包:1、javascript具有自动垃圾回收机...

weixin_39534759的博客 195

javascript的立即执行函数

javascript的立即执行函数 在javascript中有引入立即执行函数的概念,那么什么是立即执行函数呢?立即执行函数又是怎么写的呢?立即执行函数与普通函数有什么区别呢? 先来看看一般的函数: function a(){ var num = 100; console.log(num); } 以上就是javascript中随便定义的最普通的函数,函数一旦被定义,就会一直等着被执行,会一直占用空间。除非等到javascript执行完函数才会被释放。但是有些

庖丁解牛 439
上一篇: JavaScript立即执行函数的解释分析(3)—谈谈圆括号()
下一篇: 简单说 eval 函数
FEWY
FEWY 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄10年 504粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值