本帖最后由 hetengfei_ 于 2011-11-28 01:34:26 编辑

解决方案 »

  1.   

    一般情况下的确用不到,或者可通过用全局变量等方法解决问题。而对于封装API,会有用的。
    闭包其实是算法中的概念,也不是什么新的东西。
    js本来就是简单的,能解决问题就好了,不必深究。
      

  2.   

    大部分公司都不会专门找人写js 通通都是function function 全局变量漫天飞 因为对项目来说js完全就是辅助的 闭包这个东西研究研究有这个印象就行了 往后项目中遇到难题时能想到闭包时就用 没必要深究
      

  3.   

    #2楼fandui(默默不得鱼)
    提到一个,我看到比较可怕的问题:“全局变量漫天飞”

    这个可不是什么好的习贯啊,

    最起码,要把 一个问题 范筹 的变量 封在一个地方。哎,以前我是写得“全局变量漫天飞” 。
    可是 当情况越来越复杂之后,自已都不知自已做到了那里, 搞得:自已的代码,连自已都看不懂。大侠们,你们有什么好方法?
      

  4.   


    最好还是封装一下~·最起码得保证页面导入你的JS或者别人的JS,不会冲突。其次封装可以让代码看起来结构会舒服。调用方法什么的比较直观~·
      

  5.   

    例子
    http://topic.csdn.net/u/20111126/20/90bd0aa6-9606-498d-9fa2-6023b9512b22.html
      

  6.   

    最好还是封装一下可是,用 function 中的this.xxx 来封装。也是不太好,
    因,太多时, function 也会漫天飞啊!

      

  7.   

    我知道。使用setInterval调用带参数的函数,使用闭包会很方便  pp = setInterval(Showbyspeed(10, dv), 10);
    Showbyspeed = function (m, sdv) {
        return function () {
           //使用参数m,sdv
        }
      

  8.   

    --------------------引用 10 楼 ganlu423 的回复--------------------
    我知道。使用setInterval调用带参数的函数,使用闭包会很方便
      pp = setInterval(Showbyspeed(10, dv), 10);
    Showbyspeed = function (m, sdv) {
        return function () {
           //使用参数m,sdv
        }
    --------------------引用 10 楼 END                     --------------------如果我来写,很可能是:  
     function Showbyspeed()
    {
         this.ParameterM;
         this.ParameterSdv;
         this.DoSomeThing=function(ParameterM,ParameterSdv)
         {
               if((ParameterM&&ParameterSdv))
              {
                   //使用参数m,sdv
              }
         }
    }
    pp = setInterval(function(){
          Showbyspeed.ParameterM=10;
          Showbyspeed.ParameterSdv=dv;
          Showbyspeed.DoSomeThing();}, 10);
      }哎,变成多长啊!!!! 
      

  9.   

    多写几个这就行了
    (function(){
    var obj={};
    //这里爱怎么定义变量就怎么定义
    })(window);
    (function(){
    var obj={};
    //这里爱怎么定义变量就怎么定义
    })(window);
      

  10.   

    1.闭包不难,跟c语言要研究的指针相比,闭包的概念其实很简单,而且不只是js很多语言都有闭包。只是你没有去深入研究。
    2.存在即合理,有些地方你一定、必须会用到闭包。
    3.每个语言都有自己的特点,这不是缺陷。
    4.编程语言只是个工具。只是个工具...
      

  11.   


    有点不明;
    (function(){
    var obj={};
    //这里爱怎么定义变量就怎么定义
    })(window);中有个 window ,不知为什么要把 window传进去呢?
    如果不传 在里面 取不知window 吗?(function(){
    var obj={};
    //这里爱怎么定义变量就怎么定义
    })();
      

  12.   

    如果不传的话 在里面 取不到window 吗?