js闭包的简单应用

news2025/1/3 5:13:46

闭包的概念:有权访问其他函数的内部变量的函数
闭包是作用域运用的特殊场景。

注:js中自由变量的查找是在函数定义的地方向上级作用域查找,不是在执行的地方。

闭包的使用场景概况为两种,一种是函数作为参数被传递,一种是函数作为返回值被返回

1、函数作为返回值被返回

let xx = 10
function func1(){
    let xx = 100
    return function(){
        console.log(xx)
    }
}
let func2 = func1()
func2()

 

 2、函数作为参数被传递

let xx = 10
function fn1(fn){
    let xx = 100
    fn()
}
function fn(){
    console.log(xx)
}
fn1(fn)

3、定时器传参

function func(n){
    return function(){
        console.log(n, '一秒钟后打印的数据')
    }
}

setTimeout(func(100), 1000)

 

以上两个例子,可以帮助理解【js中自由变量的查找是在函数定义的地方向上级作用域查找,不是在执行的地方】

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

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

相关文章

面试官:MySQL自增主键一定是连续的吗?

测试环境: MySQL版本:8.0 数据库表:T (主键id,唯一索引c,普通字段d) 如果你的业务设计依赖于自增主键的连续性,这个设计假设自增主键是连续的。但实际上,这样的假设是错的…

还在用System.out+System.currentTimeMillis打印耗时?Arthas是你不可或缺的神器!

如何分析一下自己的web项目的性能消耗,一般我们会在开始与结束加时间相减打印出消耗时间。这种方法侵入率太高了,如果想利用arthas整体调优一下自己web项目的性能点的话,可以使用以下的步骤或思路。(当然xrebel也是一个不错的选择…

进程的创建和回收

一、进程概念:程序运行的状态 程序: 1.存放在磁盘上的指令和数据的有序集合(文件) 2.静态的 进程: 1.执行一个程序所分配的资源的总称 2.动态的 进程和程序内容区别 进程包含的内容: BSS段&#xf…

Buffer Pool

Buffer Pool Innodb 存储引擎设计了一个缓冲池,来提升读写的性能。 在 MySQL 启动的时候,InnoDB 会为 Buffer Pool 申请一片连续的内存空间,然后按照默认的16KB的大小划分出一个个的页, Buffer Pool 中的页就叫做缓存页。此时这些…

java 社区人口管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 社区人口管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…

Linux安装Zookeeper、Hadoop、Hive、Hbase全家桶系列

目录 Linux安装配置Zookeeper Linux安装配置Hadoop Linux安装Hbase Linux安装配置Zookeeper 新建文件夹 mkdir /home/zookeeper 下载到指定文件夹 官网 Apache ZooKeeper wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz…

Jmeter的JSON断言

JSON断言是测试工作中经常用到的一种断言方法,一般用于断言某个字段值是否等于我们指定的值。所以JSON断言只能针对响应结果为applicaton/json格式的进行断言操作。 如果是其他类型(如:Test、html),则无法使用这种方式…

【神经网络】tenorflow实验11--人工神经网络(2)

1. 实验目的 ①掌握梯度下降法的优化算法; ②能够使用tf.keras构建Sequential模型,完成多分类任务。 2. 实验内容 ①下载MNIST数据集,建立神经网络模型,实现对MNIST手写数字数据集的识别,调整超参数和训练参数&…

公网对讲SDK——对讲应用场景

anyRTC 公网对讲 SDK的发布,解决了开发者想做公网对讲应用但没有技术的困境;SDK全平台支持的特性,让开发者可以在任何平台接入对讲能力;同时因为包体积小、对业务零入侵等特性被运用到各行各业中,下面咱们就来聊一聊公…

ansible——利用主机模式选择主机

一:主机模式:对目标主机的一种选择方式 1.以student用户身份并使用student作为密码登录workstations ssh studentworkstation 2.创建projects-host项目文件,并下载ansible配置文件 lab projects-host start 3.在 workstation上更改到/home…

恭喜星球又一名小伙伴上岸大厂

大家好,我是冰河~~ 星球里有不少小伙伴经过自己的努力,认真学习和总结,最终拿到了自己心仪的大厂Offer!本来想给大家分享下的,但是,过去挺长一段时间冰河都处于“全天候工作状态”,经常加班到晚…

业务连续性管理的重要性体现在哪里?

业务连续性管理的重要性体现在哪里?随着全球化、信息化和市场竞争加剧,企业面临的风险越来越多样化、复杂化。突发事件如自然灾害、供应链中断、网络攻击等都有可能对企业生产经营带来巨大影响,甚至导致公司破产倒闭。因此,保证业…

day14 - 提取图像信息

本期主要介绍图像的礼帽运算和黑帽运算,礼帽运算常用于获取原始图像的噪声信息,或者得到比原始图像的边缘更亮的边缘信息;黑帽运算常用来检测图像中的波谷结构,分离比邻近点暗一些的斑块,比如得到轮廓效果图。 完成本…

数据结构——实现单向链表

文章目录 :cow:前言:banana:单链表与顺序表的对比:orange:单链表的初始操作及结构体:watermelon:申请一个节点:carrot:打印:strawberry:销毁:apple:尾插:pear:尾删:grapes:头插:peach:头删:pineapple:数据的查找:lemon:数据的修改:tomato:在pos位置之后插入节点:potato:在pos位…

编辑距离算法

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入:word1 "horse", word2 "ros&quo…

ChatGPT真的可以帮助你申请留学吗?未必!

在留学申请的整个流程中,如果说哪一项是最不可或缺的项目,那“文书写作”一定首当其冲。国外院校对学生的评估参考项目,除了文书以外,也在不断地探寻更多的评估方式来全面地了解申请的学生。 从加州大学的申请流程中可以了解到这方…

Spring 之 jwt,过滤器,拦截器,aop,监听器

Spring 之 jwt,过滤器,拦截器,aop,监听器 一、jwt编写1.1 pom1.2 JwtUtils1.3 注意1.4 用法 二、过滤器2.1 原理2.2 使用场景2.3 使用步骤2.3.1 自定义过滤器类implements Filter2.3.2 配置类2.3.3 过滤器使用场景 2.4 问题 三、拦…

中美信托金融大厦(总体)建筑能耗管理系统的设计与应用

摘要:大型公共建筑总面积不足城镇建筑总面积的4%,但总能耗却占全国城镇总耗电量的22%,大型公共建筑单位面积年耗电量达到70~300KWh,为普通居民住宅的10~20倍。公共建筑是节能大户和节能主要对象&#xff0c…

这些论文的作者居然是猫、狗、仓鼠……

01 猩猩 Journal of Applied Animal Welfare Science 期刊在2007年发表了论文 Welfare of Apes in Captive Environments: Comments On, and By, a Specific Group of Apes (圈养环境中的猿类福利:对特定类群的评论”),作者Sue S…

Web服务组合优化 基于改进哈里斯鹰算法的Web服务组合优化【Matlab代码22#】

文章目录 【可更换其他算法,获取资源请见文章第7节:资源获取】1. Web服务2. QoS感知的Web服务组合3. 改进后的CHHO算法3.1 原始HHO算法3.2 CHHO算法 4. 优化目标5. 部分代码展示6. 仿真结果展示7. 资源获取 【可更换其他算法,获取资源请见文章…