IT技术博客大学习 共学习 共进步

闭包与作用域

小小子,simaopig 2010-07-28 09:37:48 浏览 3,723 次

这几天晚上回到家里没闲着,在网上找了本书,终于弄明白自己一直半懂且不懂装懂的一件事情。

那就是闭包与作用域的事情,想想前两天写的日志,虽然当时自己用另外一种方式处理了。即借用于中间函数,不过始终是脱离了自己原来预想的闭包实现法。既然偶有所感,不如改写一下。

改写后,代码如下,果然精悍了很多。

var payTypes = ['snda', 'junnet', 'szx'];

for (var i = 0, len = payTypes.length; i < len; i++) {
    (function(payTypeName){
        var Radios = document.getElementsByName(payTypeName + "_amount");
        for (var j = 0, rLen = Radios.length; j < rLen; j++) {
            Radios[j].onclick = function(){
                payObj.changePaytype('pay_' + payTypeName, this.value);
            }
        }
    })(payTypes[i]);
}

所以说,天道酬勤,付出总是会有回报的。能否写出这个代码并不重要,背下来也可。但是弄明白其真正原理,这才是我最大的收获。

有点装B了,但是人在世上混,哪能不流氓,哪能不装B?都在世上飘,难免会挨刀。

建议继续学习

  1. for 循环为何可恨? (阅读 5,383)
  2. 理解Javascript的闭包 (阅读 4,749)
  3. GC与JS内存泄露 (阅读 4,604)
  4. javascript的词法作用域 (阅读 4,546)
  5. JavaScript的闭包问题 (阅读 4,305)
  6. 在回调和闭包中的内存泄漏 (阅读 3,983)
  7. 有趣的变量作用域-PHP中global和Javascript中的var关键字 (阅读 3,844)
  8. 闭包漫谈(从抽象代数及函数式编程角度) (阅读 3,783)
  9. 什么是闭包(Closure)? (阅读 3,764)
  10. 闭包漫谈(从抽象代数及函数式编程角度) (阅读 3,725)