Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery等大型项目中的JavaScript凌乱代码?_Javascript_Jquery_Html - Fatal编程技术网

使用jquery等大型项目中的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

给javascript大师打电话。 基本上,我的问题是关于如何构造代码,包括视觉和功能。例如,是否使用此结构将所有内容包装到对象中:

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,所以…;)