【问题标题】:Not sure about this style of jQuery/Javascript proramming.不确定这种 jQuery/Javascript 编程风格。
【发布时间】:2011-10-14 15:48:52
【问题描述】:

我想为我的博客/作品集网站做一个教程,我意识到……就我所知道的这种特殊的 jQuery/Javascript 编程方法而言,我不知道该怎么称呼它或其他人怎么称呼它.我知道它是一种特殊的 OOP 方法,向我展示如何做到这一点的人将其称为“原型设计”。但是在谷歌上搜索它时,我没有找到类似的东西。这是一个精简的例子:

jQuery().ready(function() {
site.internal.page = function () {
    return {                        
        init: function () {

            var that = this;                            

        },
        business: function () {
            return {
                init: function () {

                },
                doSomething: function () {                                                  

                },  
                        addSomething: function (r) {

                },
                makeSomethign: function () {

                }                                   
            }
        }(),
        invoice: function () {
            return {
                init: function () {         
                    that = this;                

                },
                addItem: function (row) {


                }
            }
        }()
    }
}();

site.internal.page.init();
});

任何人都可以帮助我弄清楚将其称为什么。我不确定它是否与制作库或插件相同,但我真的很想弄清楚。谢谢。

【问题讨论】:

  • 那里发生了很多事情,你指的是哪一个?
  • 一切作为一个整体。我在问为什么我的朋友会把它称为“原型设计”还是我误解了他?
  • 我以前从未听说过。这可能意味着修改对象原型,但这里没有发生任何事情。
  • 这里是它的解释。我知道有一种与此相关的设计模式:yuiblog.com/blog/2007/06/12/module-pattern 这是一种称为 Javascript 模块模式的设计模式,它是一种编写代码的绝妙方式。非常适合 jQuery。
  • 很好的发现。本着本网站的精神,您应该将此作为答案发布并接受。

标签: javascript jquery oop prototyping


【解决方案1】:

您正在创建匿名函数并将对每个函数的引用存储在变量中。

【讨论】:

  • 这不是一种特殊的编码风格吗?比如,编码方法有名称吗?
【解决方案2】:

如果参考 site.internal.page 部分,我建议这是尝试在大型站点中命名 javascript。

【讨论】:

  • 我了解它的命名空间方面。但这是一种编码风格吗?例如,MVC 是 PHP 的一种编码风格。
  • 不,MVC 是一种软件开发模式,并非特定于 PHP。我认为您发布的这段代码没有像这样的特定名称。
  • 其称为 Javascript 模块模式:yuiblog.com/blog/2007/06/12/module-pattern
  • @Chris - 可能是那个人所说的,但他描述的只是命名空间!
猜你喜欢
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多