使用jquery等大型项目中的JavaScript凌乱代码?
给javascript大师打电话。 基本上,我的问题是关于如何构造代码,包括视觉和功能。例如,是否使用此结构将所有内容包装到对象中:使用jquery等大型项目中的JavaScript凌乱代码?,javascript,jquery,html,Javascript,Jquery,Html,给javascript大师打电话。 基本上,我的问题是关于如何构造代码,包括视觉和功能。例如,是否使用此结构将所有内容包装到对象中: var myapp={ binds:function(){ //put some event listeners for jquery etc... }, otherfunc:function(){ //do some other thing }, init:function(){ //call myapp.binds an
var myapp={
binds:function(){
//put some event listeners for jquery etc...
},
otherfunc:function(){
//do some other thing
},
init:function(){
//call myapp.binds and other functions and other stuff to intialize your app.
}
};
最后
$(document).ready(myapp.init);
我想JSLint会抱怨这种结构,不是吗?使用这样的结构有什么优点和缺点,或者有没有更好的方法来构造代码?您是否遵循从$(document).ready(call)
到放置所有事件侦听器和“初始化”应用程序的特定模式,您是否对方法和变量使用单独的对象
我也认为“视觉上”如果你有一个非常大的网络应用程序,这个结构最终看起来非常混乱,但可能只是我,我不知道,任何输入是感谢
Using Inheritance Patterns to Organize Large jQuery Applications
由Alex详细解释并进行更好的练习
这很好解释,一定要看
其他链接
您从中得到的唯一错误是“隐含全局”。您可以改用this.document来消除文档警告(因为窗口是上下文)。除非粘贴到jQuery源(然后是包含所有错误的gl),否则$的隐含全局值将保留 我非常信任杰斯林特。在大型项目中,我倾向于像上面一样创建对象文字,但我使用模块模式来实现对象安全性:
var myapp = (function () {
var secret_stuff, public_stuff;
return {
stuff: public_stuff
}
}());
“杰斯林特抱怨了,不是吗?”杰斯林特的建议应该和一袋10升的盐一起服用。呵呵,我不知道,有些人说杰斯林特ftw,有些人说ftl,所以…;)