+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
啊