JavaScript中let避免闭包造成问题怎么解决
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍了JavaScript中let避免闭包造成问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript中let避免闭包造成问题怎么解决文
千家信息网最后更新 2025年01月19日JavaScript中let避免闭包造成问题怎么解决
这篇文章主要介绍了JavaScript中let避免闭包造成问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript中let避免闭包造成问题怎么解决文章都会有所收获,下面我们一起来看看吧。
关于 let 避免闭包带来的问题
利用面向对象思想完成买家信息删除功能,每一条信息包含:
姓名
电话
电话号码
省份
实现以下要求:
不能借用任何第三方库,需要使用原生代码实现。
结合给出的基本代码结构,在下方2处code here补充代码,完成买家信息的删除功能,注意此页面要在手机上清晰显示。
js代码可以任意调整,例如和使用es6代码完成。
demo 序号姓名性别电话号码省份操作
1张三男13788888888浙江删除 2李四女13788887777四川删除 3王二男13788889999广东删除
code1
code2 ( 别人的代码 )
Contact.prototype.init = function () { console.log("Test"); var div = document.getElementsByClassName("user-delete"); var ul = document.querySelector("#J_List"); var list = ul.querySelectorAll("li"); for (var i = 0; i < div.length; i++) { (function (i) { div[i].onclick = function () { list[i].remove(); console.log(i); } })(i); } } new Contact();
其中
(function (i) { div[i].onclick = function () { list[i].remove(); console.log(i); } })(i);
这段立即执行函数没看懂意义
我的代码
Contact.prototype.init = function () { let div = document.getElementsByClassName("user-delete"); let ul = document.querySelector("#J_List"); let list = ul.querySelectorAll("li"); for (let i in div) { div[i].onclick = function () { list[i].remove(); console.log(i); } } } new Contact();
后来想起来是为了避免闭包带来的问题,这一段廖雪峰老师讲过,但是一时没有想起来,详见 廖雪峰闭包
但是我的代码运行起来也是没有任何问题的,因为当时没有块级作用域的说法,但是现在可以用 let 来避免这个问题。所以如果 i 是用 let 来声明的话就可以不用立即执行函数。并且写代码应当避免用 var,改用 let。还有一个,避免使用 for(let i =0;condition;++i) 这种语句,尽量使用 for...in... 一些好的习惯要养成。
关于"JavaScript中let避免闭包造成问题怎么解决"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"JavaScript中let避免闭包造成问题怎么解决"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
代码
问题
闭包
信息
电话
知识
买家
内容
函数
功能
号码
姓名
电话号码
省份
篇文章
雪峰
不用
价值
作用
写法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
单位公众号运营服务器
列举常用生物信息数据库
服务器线缆管理方法
网络安全安全事件报告流程
辞海下载软件开发
高级数据库管理员职责
商城项目云服务器选择
来思网络技术有限公司
如何设置显示无法连接到服务器
在关系数据库
与数据库应用有直接关系
清苑职教中心计算机网络技术二
怎样才能保护手机的网络安全
丽水橙品网络技术有限公司
ncbi和水稻数据库编号
数据库管理都有什么
联想服务器一级代理
重庆软件开发工程师招聘
网络安全销售经理面试评价
阿里云服务器连接
车辆控制软件开发平台
当你在服务器装迪哥会怎么样
单位公众号运营服务器
天夏科技互联网大会
电脑怎样清除pc软件数据库
ctf网络安全大赛时间2022
战地5steam无法连接服务器
网络安全手抄报字超少
llinux 连接数据库
数据库怎么修改数据表字段