使用javascript对象文字表示法定义函数

时间:2012-03-12 10:18:35

标签: javascript json function object-literal

This thread描述了如何使用Javascript obect文字表示法来描述函数集合,例如:

var crudActions = {
    create : function () {
          ... 
    }
    read : function () {
          ...
    }
}

这个模式有名字吗?使用这种方法是否有优势?

2 个答案:

答案 0 :(得分:5)

你刚刚做的是给你的函数一个“命名空间”。你的功能现在是“相关任务的集合”

命名空间意味着您的功能不再在全局范围内“活动”(因此避免使用其他功能污染/覆盖它)。所以你的所有函数都可以通过“命名空间”来解决,如果另一个函数与它的名字相同,就不用担心了(就像另一个create())。

就像在你的应用程序中说你有一个数据库和一个视图。两者都可以做“创建”,但有2 create()个功能是不可能的。创建奇怪的名称,如createDatabase()createView()只是没有组织。因此,您创建名称空间,以便可以调用它们database.create()view.create() - 更有意义。

答案 1 :(得分:-2)

创建对象并定义属性和值

var personA = {
    name:"personName",
    age : 23,
    sex : "Male",

    info:function() {
        console.log(name + ": "+age+ ": "+sex);
    }
};

对象中变量和函数的声明方法。这种方法主要用于封闭。