服务器与运维

当前位置:澳门新莆京娱乐官网 > 服务器与运维 > javascript闭包传参和事件的循环绑定示例探讨_javascript技巧_脚本之家

javascript闭包传参和事件的循环绑定示例探讨_javascript技巧_脚本之家

来源:http://www.drgigabytes.com 作者:澳门新莆京娱乐官网 时间:2019-12-30 00:07

明日看看四个javascript的主题素材,按常理循环绑定事件,可是获得的结果却不是想要的。 复制代码 代码如下: text
link

1.以此代码点击链接弹出的i都以-1,那是怎么呢? 轻松的话正是函数变量功效域难题,如若把function; return false; } 当作叁个函数 a内部未定义变量i,但是里面接收了,于是向外查找,找到for循环里定义的i,点击事件是for循环完毕后才开头进行的,施行完成后i的值已经成为-1;所以每便弹出的都是-1;

  1. 2个参数的for循环也不数见不鲜!疑心? for{ //todo } a.for循环条件 经常说语句1、语句2、语句3都以可选的。 b.语句 2: 平时语句 2 用于评估开头变量的口径。 语句 2 雷同是可选的。 假设语句 2 再次回到true,则循环重复早先,若是回去 false,则循环将扫尾。 提示:倘诺您简要了语句 2,那么必得在循环内提供 break。不然循环就不能够停下来。那样有望令浏览器崩溃。 c.关于 i--推断: 判定i--true /false的时候是先剖断i再运算i--的。步入尾声一遍剖断i--的时候其实判别 i==0的时候,推断后又实行了三次i--,for循环终止, 于是i的值产生了-1; var i = 1; !!i--;//ture 清除措施: 复制代码 代码如下: var as = document.getElementsByTagName; for ( var i = as.length; i--; 卡塔尔 { { as[i].onclick = function; return false; } }卡塔尔 } 也许: 复制代码 代码如下: var as = document.getElementsByTagName; for ( var i = as.length; i--; 卡塔尔 { var a = function{ as[i].onclick = function; return false; } } a; } 别的网上好友7中消除方式demo: 复制代码 代码如下:

闭包演示

1、将变量 i 保存给在每一个段落对象上 复制代码 代码如下: function init(卡塔尔国 { var pAry = document.getElementsByTagName; for( var i=0; i复制代码 代码如下: function init2(卡塔尔 { var pAry = document.getElementsByTagName; for( var i=0; i复制代码 代码如下: function init3(State of Qatar { var pAry = document.getElementsByTagName; for( var i=0; i复制代码 代码如下: function init4(卡塔尔 { var pAry = document.getElementsByTagName; for( var i=0; i复制代码 代码如下: function init5(卡塔尔(قطر‎ { var pAry = document.getElementsByTagName; for( var i=0; i复制代码 代码如下: function init6(卡塔尔(قطر‎ { var pAry = document.getElementsByTagName; for( var i=0; i复制代码 代码如下: function init7(State of Qatar { var pAry = document.getElementsByTagName; for( var i=0; i

本文由澳门新莆京娱乐官网发布于服务器与运维,转载请注明出处:javascript闭包传参和事件的循环绑定示例探讨_javascript技巧_脚本之家

关键词: