js之闭包经典面试题
发布日期:2021-06-30 11:50:38
浏览次数:2
分类:技术文章
本文共 1215 字,大约阅读时间需要 4 分钟。
//1.下面代码执行后的结果是?如何处理var arr = [];for(var i = 0;i<10;i++){ arr.push(function () { console.log(i); })}//[function(){},function(){},function(){},function(){}。。。。]arr[6](); //i是几 10// //由于for循环先执行,函数的调用后执行 因此函数调用的时候 for循环已经执行完了,i==10 //解决问题 闭包 闭包特点:闭包中声明的变量 类似于全局变量 会被一直保存在内存中var arr1 = [];for (var i = 0; i < 10; i++) { (function(a) { //形参a相当于声明了变量a //var a = i arr1.push(function() { console.log(a); //6 }) })(i)}arr1[6](); //6/*示例for (var i = 0; i < liS.length; i++) { (function (a) { //函数的形参 就相当于在 函数中 声明了一个变量 //var a = 实参0 liS[a].onclick = function () { console.log(a); //5 } })(i);}*///2.function fun(n, o) { console.log(o); return { fun: function(m) { return fun(m, n); } };}var a = fun(0); //n:0 o:undefined undefined//a:{fun:function(m){ return fun(m,n) }} //这里调用的fun是全局的fun函数a.fun(1); //m:1 n:0 fun(1,0) 0a.fun(2); //m:2 n:0 fun(2,0) 0a.fun(3); //m:3 n:0 fun(3,0) 0//上述所有a的fun方法的调用 获取的都是第0个n//3.for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i, new Date()); }, 1000);}console.log(i, new Date()); //循环已经结束 i==5 当前时间//5 当前时间//(5 当前时间+1s)*5 //js中分为 同步和异步 代码//异步代码:事件 定时器 ajax//同步代码:非异步代码//js中先执行同步代码 再将异步代码从任务队列中取出 执行//js在内存中开辟出了一块空间 任务队列 在执行代码的时候如果遇到异步代码就先放到任务队列中等待
转载地址:https://jackiehao.blog.csdn.net/article/details/105532944 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月19日 00时56分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于java的魂斗罗的设计
2019-04-30
基于java的网页内容管理
2019-04-30
基于java的学生管理系统
2019-04-30
基于java网盘搜索的设计与实现
2019-04-30
基于SSM的仿小米商城源码
2019-04-30
基于SSM的医院人事管理系统的设计与实现
2019-04-30
基于SSM的兼职论坛系统的设计与实现
2019-04-30
基于java的图书管理系统的设计与实现
2019-04-30
基于java的SSM框架理财管理系统的设计与实现
2019-04-30
基于java的ssm框架就业信息管理系统的设计
2019-04-30
基于java的ssm框架的旅游网站设计与实现
2019-04-30
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30
一个数据项目
2019-04-30
java的酒店房间管理系统
2019-04-30
基于Java的截图工具
2019-04-30
基于JAVA的停车场管理系统
2019-04-30