代码改变世界

注意事项一:闭包与函数作用域

2011-08-10 11:17  前端小鬼  阅读(202)  评论(0)    收藏  举报
(function(){
      var els = document.getElementsByTagName_r('li');
      for(var i = 0, len = els.length; i < len; i++){
          var el = els[i];
          el.onclick = function(){
              alert(el.innerHTML);
          };
      }
})();

 第一种修改方法:
(function(){
      var els = document.getElementsByTagName_r('li');
      for(var i = 0, len = els.length; i < len; i++){
          var el = els[i];
          el.onclick = function(){
              alert(this.innerHTML);
          };
      }
})();

 第二种修改方法:
(function(){
      var els = document.getElementsByTagName_r('li');
      for(var i = 0, len = els.length; i < len; i++){
          (function(el){
              el.onclick = function(){
                  alert(el.innerHTML);
              }
          })(els[i])
      }
})();

 第三种修改方法:
(function(){
      var els = document.getElementsByTagName_r('li');
      for(var i = 0, len = els.length; i < len; i++){
          var el = els[i];
          el.onclick = (function(x){
              return function(){ alert(x.innerHTML); }
          })(el);
      }
})();
不管你懂不懂,反正我是懂了!