Day07-JS高级编程

news/2024/11/23 23:45:05/

Day02-JS高级编程

一、闭包(扩展)

概念:闭包指的就是在子函数中,可以访问父级函数中的变量。闭包形成的条件,需要在一个函数中嵌套一个子函数,内部函数访问外部函数的变量。

案例1-闭包的基础

        /*** 函数声明*/function fun(){var name = "hello" return function(){console.log(name);}}    //外部函数调用,外部函数执行完后,函数的代码会从栈内存中销毁let fun2 = fun()// console.log(fun2);//调用子函数fun2()

fun()调用完成后,fun这个函数会从内存中清除。

变量name会存放在闭包空间里面。

当调用内部函数fun2(),name使用完,闭包空间里面对应name消失

案例2

如下代码输出的结果都是一样的

    <script>/*** 页面打开,for循环会立马执行,会创建5个延时器* 延时器在定时时间到了才会执行* * 循环执行完后,i的值已经是5了,又过了5秒延时器开始执行,延时器要输出变量i,会输出变量i的最终结果*/for(var i=0;i<5;i++){setTimeout(() => {console.log("-------",i);}, 5000);}</script>

使用闭包解决这个问题

    <script>/*** 页面打开,for循环会立马执行,会创建5个延时器* 延时器在定时时间到了才会执行* * 循环执行完后,i的值已经是5了,又过了5秒延时器开始执行,延时器要输出变量i,会输出变量i的最终结果*/for(var i=0;i<5;i++){//立即执行函数作为父级函数,index是父级函数的变量(function(index){//延时器中的函数作为子函数,setTimeout(() => {console.log("-------",index);}, 5000);})(i)

http://www.ppmy.cn/news/1001461.html

相关文章

【2】Linux实现多进程、多线程

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、linux开发的方向二、Linux环境特点1、Linux环境介绍2、Linux环境基本构成三、同步与互斥1、Linux同步并发的方法(1)创建、终止、等待、分离线…

有向图的拓扑序列

给定一个 n 个点 m 条边的有向图&#xff0c;点的编号是 1 到 n &#xff0c;图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列&#xff0c;如果拓扑序列不存在&#xff0c;则输出 −1 。 若一个由图中所有点构成的序列 A 满足&#xff1a;对于图中的每条边 (…

mysql 、sql server 常见的区别

&#xff2e;&#xff35;&#xff2c;&#xff2c;   处理 MySQL IFNULL(col , val) SQL Server ISNULL(col,val) 表名、列名等 一般不推荐用保留字 &#xff0c;如果非要保留字 MySQL 用用着重号&#xff0c;即 反引号 包括 select col from GROUP SQL Server 用用着重号…

寄存器详解

目录 前言&#xff1a; 通用寄存器 示例&#xff1a; 通用寄存器的划分 汇编指令 cpu物理地址的形成 地址加法器运算示例&#xff1a; 1. 相关部件提供段地址和偏移地址 2. 段地址和偏移地址送入地址加法器 3. 段地址*16 4. 求出物理地址 5. 输出物理地址 段的概念 Deb…

FeignClient接口的几种方式总结

FeignClient这个注解&#xff0c;已经封装了远程调用协议。在springboot的开发&#xff0c;或者微服务的开发过程中&#xff0c;我们需要跨服务调用&#xff0c;或者调用外部的接口&#xff0c;我们都可以使用FeignClient。 一、FeignClient介绍 FeignClient 注解是 Spring Cl…

kubernetes之Ingress

一、背景 Ingress是k8s中实现7层负载的实现方式&#xff0c;是公开集群外部流量到集群内服务的HTTP和HTTPS路由 二、Ingress基础 通常Ingress实现由Ingress 控制器和Ingress组成&#xff0c;Ingress控制器负责具体实现反向代理及负载均衡&#xff0c;Ingress负责定义匹配规则和…

金三银四好时节,python面试10K+能不能得到?

嗨害大家好鸭&#xff01;我是小熊猫~ 金三银四好时节&#xff0c;面试10K能不能得到&#xff1f; 这次正逢面试季&#xff0c;这次给大家带来一个真实面试题 虽然最后上的班不一定是自己喜欢的&#xff0c; 但是工作还是要有哇&#xff01; 第三方库: requests >>>…

MySQL 远程操作mysql

可以让别人在他们的电脑上操作我电脑上的数据库 create user admin identified with mysql_native_password by admin; //设置账号密码都为admingrant all on *.* to admin; //给admin账号授权 授权完成