首页 > 我把函数赋值给woindow对象的属性,这样做可以吗?

我把函数赋值给woindow对象的属性,这样做可以吗?

+function(){
    this.rek5 = {};
    this.rek5.foldbox = function(btnID){
        $(btnID).click(function(){
              if($(this).hasClass("active")){
                  $(this).removeClass("active");
              }else{
                  $(this).addClass("active");
              }
          });
    }

    this.rek5.dropdownvalue = function(dropID){
        $(dropID+" + .dropdown-menu").find("a").click(function(){
            $(dropID+" > .rbtn-text-left").text($(this).text());
        });
    }

    $("input[type='radio']").on("click",function(e){
          $("input[type='radio']:not(checked)").removeClass('active');
          $("input[type='radio']:checked").addClass('active');
      });

}()


new rek5.foldbox("#foldbox1");

new rek5.foldbox("#foldbox2");

new rek5.dropdownvalue("#dropdownMenu3");

我这样做是为了在html页面里实例化js文件内立即执行函数里的函数。请问这样的写法可取吗?


不可取,为啥不把逻辑都放进自执行函数里:

(function() {
    var rek = {};
    rek.foldbox = function() {/*...*/};
    
    rek.foldbox("#foldbox1");
} ())

而且这些函数都只是一些事件绑定,没必要用到new

【热门文章】
【热门文章】