JavaScript百炼成仙自学笔记——11

embedded/2024/9/24 19:13:30/

函数七重关之四(闭包)

javascript">function add(){return function(){}
}
javascript">function test(){var a = 0;return function(){console.log(a);}
}

这样子调用:test()();

这就是闭包!

这样做有什么好处呢?

javascript">//先获取这个内部函数
var inner = test();
//第一次调用内部函数
inner();
//第二次调用内部函数
inner();
//第三次调用内部函数
inner();

利用闭包操作就可以减少很多不必要的全局变量。

全局作用域是一块公共区域,如果为了某一个单一的功能二定义一个全局变量,则会导致全局变量过多,代码就变得一团糟了。因此这种情况下,还是要优先考虑使用闭包。


http://www.ppmy.cn/embedded/29246.html

相关文章

张鸣独到解读:规矩与自信的政治影响

在当今多变的政治舞台上,学者张鸣教授以其犀利而深邃的视角,对规矩与自信提出了新的解读。他的言论不仅引发了公众的广泛关注,也为我们提供了思考社会政治问题的一个新的角度。张教授指出,规矩并非僵化的教条,而应是动…

CVE-2022-2602:unix_gc 错误释放 io_uring 注册的文件从而导致的 file UAF

前言 复现该漏洞只是为了学习相关知识,在这里仅仅做简单记录下 exp,关于漏洞的详细内容请参考其他文章,最后在 v5.18.19 内核版本上复现成功,v6.0.2 复现失败 漏洞利用 diff --git a/include/linux/skbuff.h b/include/linux/s…

【Vue 2.x】学习vue之二组件

文章目录 Vue二组件第五章es6文件导入出1、导出export 组件(component)1、定义2、模块化与组件化3、组件的分类1、非单文件组件非单文件三步骤创建组件标准写法简化写法组件的嵌套非单文件的不足之处 2、单文件组件vue单文件组件的使用脚手架创建项目重点…

ubuntu neo4j 下载与配置(一)

neo4j 官方下载页面 https://neo4j.com/deployment-center/#community 进入页面之后,往下滑 咱们在下载neo4j时,官方可能要咱们填写一下个人信息,比如:姓名组织结构邮箱等: 咱们可以观察一下,ne4j的下载链…

k8s拉取不了私有镜像问题

报错 kubectl describe pod run-nfs-client-provisionercrictl pull 172.24.4.59/library/spark_lijia:3.5.1报错问题:“k8s拉取不了私有镜像” 可能是由于以下几个原因造成的:认证问题:私有镜像库可能需要用户名和密码才能拉取镜像。网络问…

ShellScript脚本编程(二)

Shell_条件判断(一) Shell中也有条件表达式,也就是比较两个值是否相等 基本语法 test 表达式 [ 表达式 ] 注意:中括号前后需要有空格 [rootlocalhost scripts]# a10 [rootlocalhost scripts]# echo $a 10 [rootlocalhost scripts]# test $a 10 [roo…

视频监控平台-OSD源代码解释和分享:通过大华SDK设置大华设备的OSD

目录 一、OSD介绍 (一)OSD的定义 (二)OSD的设置 1、自定义文本 2、图标和符号 3、定位和叠加 二、代码和解释 (一)代码和注释 (二)代码解释 1、概述 2、代码详细解释 一、…

Docker新建应用容器引擎与启动ssh服务

XZ的账户资料: 使用SecureCRT的ssh2协议远程登陆 ip: 192.XXX.X.XXX port: XXXX 用户名:xiaohua 密码:123456 $ docker run --name xiaohua_docker -p xxxxx:xx -it -v /home/d/xiaohua:/home/xiaohuac522ac0d6194 bash //将真实路径/…