js的闭包的一个示例说明_javascript技巧
程序员文章站
2022-05-26 19:45:50
...
复制代码 代码如下:
function outside()
{
var myVar = 1;
return function (){
alert(myVar);
}
}
var t = outside();
t();
js中 某个函数的内部函数在该函数执行结束后仍然可以访问这个函数中定义的变量,这称为闭包(Closure)
下面例子是给三个锚anchor1,anchor2,anchor3添加onclick事件,可以预期的效果是点击锚点显示相应的锚点ID,实际上却都是显示"My id is anchor4", 这个就是闭包作用引起的逻辑上的bug,添加事件的函数执行完后i的值为4,
复制代码 代码如下:
ADS.addEvent(window, 'load', function(W3CEvent) {m
for (var i=1 ; i
var anchor = document.getElementById('anchor' + i);
ADS.addEvent(anchor,'click',function() {
alert('My id is anchor' + i);
});
}
});
上一篇: threejs 裁剪
推荐阅读
-
JS实现利用闭包判断Dom元素和滚动条的方向示例
-
JS中闭包的经典用法小结(2则示例)
-
荐 JavaScript之闭包,给自己的Js一场重生(系列七)
-
js对数字的格式化使用说明_javascript技巧
-
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果_javascript技巧
-
Js实现双击鼠标自动滚动屏幕的示例代码_javascript技巧
-
js禁止回车提交表单的示例代码_javascript技巧
-
JS 实现Table相同行的单元格自动合并示例代码_javascript技巧
-
js禁止回车提交表单的示例代码_javascript技巧
-
用js写了一个类似php的print_r输出换行功能_javascript技巧