【发布时间】:2013-07-25 14:53:53
【问题描述】:
在过去一年左右的工作中,我一直在编写具有特定样式的 JavaScript(下面的示例),并且想知道是否有人可以告诉我这种样式或模式的名称。我认为它有一个名字,但其中之一就是如果你不知道如何称呼它,那么很难找到任何帮助。
var Page =
{
DoStuff: function ()
{
// stuff gets done here
},
Save: function ()
{
// save logic
}
};
那么上面的js就可以这样调用了:
Page.Save();
我们一直在使用它,因为这意味着我们可以为函数命名空间,因此如果每个页面都有一个保存函数,它们都可以被称为相同的名称,但不会发生冲突。
抱歉,如果之前有人问过这个问题,但就像我说的那样,当我不确定要使用什么关键字时,真的很难找到答案。
更新 感谢大家的快速回复。如果有人可以提供帮助,我对此还有一个问题。过去我曾尝试过某种函数重载,这样我就可以拥有这样的东西:
var Page =
{
DoStuff: function ()
{
// do stuff
},
DoStuff: function (name, type)
{
// do stuff with the name and type params
}
};
但是这些函数最终会相互覆盖,所以最后一个读入的函数替换了另一个函数,我最终只有一个函数,而不能同时调用这两个函数
Page.DoStuff();
Page.DoStuff('lews0r', 'newbie');
甚至可以重载这个命名空间/模块结构中的函数吗?或者我是否只需要坚持将第二个函数命名为不同的名称,例如 Page.DoStuff2() (以及最佳函数名称奖……)。
【问题讨论】:
-
如您所说,
Page可以称为“命名空间”。它只是一个具有一些可调用属性的对象......那里没有真正的“模式”。 -
你的意思是,OOP(面向对象编程)还是 Javascript 类?
-
这已经解释得很好了:stackoverflow.com/questions/9384865/…
标签: javascript coding-style structure design-patterns