我最近一直在使用这种编程模式,以便对逻辑相关的功能进行分组:
FruitMethods = {
url: "some/path/to/something.durk",
get: function(data) {$.ajax(url, data)},
delete: function(something) { some more function stuff....}
}
你说得对吗?它似乎并不真正符合Class的定义......或者它是否真的如此?一个混合?别的什么? Javascript对象充满功能,也许是变量? JOFOFAMAV?
我对JOFOFAMAV的投票。
PS:请随意加入你对这是否是一个好习惯的想法。
答案 0 :(得分:3)
从功能上讲,它是一个具有属性的对象。那么,那么你的问题就变得更加关于人们会怎样称呼它。
因为它没有实例数据,并且看起来没有人会创建它的新实例(例如像一个类),所以它最像是一个namespace
,它只是一堆命名的包装器属性可以是任何类型的数据或函数的属性。
命名空间对象有很多原因:
category.method
Fruit.get()
的简单方案引用它们,如{{1}} 答案 1 :(得分:1)
我称之为命名空间。
答案 2 :(得分:0)
这是 singleton 的一种形式 - 它基本上是一个没有外部定义的对象:你没有'class'定义,然后创建该类的实例。
有关此类结构的一件事是,对象的所有方法都是公开的(可能是也可能不是问题)。