<script type="text/javascript">    function aa(){
      //。。
      function t(){}
      t();
    }
    var b=new aa();
    var c=new aa();
    
</script>这样的话.两次new就会执行2次t。我只想让t只执行一次。该怎么设计

解决方案 »

  1.   

    function aa(){
      //。。
      function t(){}
      t();
      }
    这个写法有点怪,把全一点的代码贴上来吧。
      

  2.   

    这个方法有点笨function aa(option){
      //。。
      function t(){}
    if(option.flag){
      t();
    }
      }
      var b=new aa({flag:true});
      var c=new aa({flag:false});
      

  3.   


    <script type="text/javascript">
      function aa(){
         function t(){ aa.f=1; alert(aa.f); }
      if(aa.f==0) t();
      }
      aa.f = 0;
      var b=new aa();
      var c=new aa();
    </script>
      

  4.   

    我的意思 和楼上 hookee  的一样
    aa是一个类啊。里面有个函数或者说过程,需要执行一次。比如事件绑定。
    这样,new一次就行了。再new第二次,第三次就不需要再执行,比如绑定了
    楼上的做法可行,就是感觉不太好。
    有没有什么设计模式,可以这样的?好像没有么?只能通过保存变变量来判断?