作家
登录

10个JavaScript常见BUG及修复方法

作者: 来源: 2017-12-06 09:34:30 阅读 我要评论

.log("元素编号#" + i); };}

1. 缺点的对this进行引用

如不雅我们有10个元素,那么点击任何一个元素都邑显示“元素编号#10”!因为在 onclick 被调用的时刻,for轮回已经停止,是以所有的i都是10。

解法:

var elements = document.getElementsByTagName('input');var n = elements.length;    // 假设有10个元素var makeHandler = function(num) {  // outer function     return function() {   // inner function         console.log("元素编号##" + num);     };};for (var i = 0; i < n; i++) {    elements[i].onclick = makeHandler(i+1);}

makeHandler 在for轮回履行的时刻急速被调用,获取到当前的值 i+1 ,并且存储在变量 num中。 makeHandler 返回一个函数应用 num 变量,该函数被绑定到元素的点击事宜。

平日在这种情况下,调用 


  推荐阅读

  IBM使用GPU将机器学习效率提升十倍

开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 在初步测试时代,IBM 应用了配有 8GB GDDR5 内存的 NVIDIA Quadro M4000 显卡。在这种价格适中的专业图形卡上 IBM 证实,与标准的>>>详细阅读


本文标题:10个JavaScript常见BUG及修复方法

地址:http://www.17bianji.com/lsqh/39495.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)