什么是适当的术语:“充满功能的javascript对象”?

时间:2011-11-12 00:55:05

标签: javascript object

我最近一直在使用这种编程模式,以便对逻辑相关的功能进行分组:

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:请随意加入你对这是否是一个好习惯的想法。

3 个答案:

答案 0 :(得分:3)

从功能上讲,它是一个具有属性的对象。那么,那么你的问题就变得更加关于人们会怎样称呼它。

因为它没有实例数据,并且看起来没有人会创建它的新实例(例如像一个类),所以它最像是一个namespace,它只是一堆命名的包装器属性可以是任何类型的数据或函数的属性。

命名空间对象有很多原因:

  1. 限制使用顶级全局命名空间,从而降低名称与其他脚本冲突的可能性。
  2. 收集一组相关数据或功能的组织结构/惯例。
  3. 一种分层方案,可以更轻松地对方法和/或数据进行分类或组织,并使用category.method Fruit.get()的简单方案引用它们,如{{1}}

答案 1 :(得分:1)

我称之为命名空间。

答案 2 :(得分:0)

这是 singleton 的一种形式 - 它基本上是一个没有外部定义的对象:你没有'class'定义,然后创建该类的实例。

有关此类结构的一件事是,对象的所有方法都是公开的(可能是也可能不是问题)。