【问题标题】:Defining functions using javascript object literal notation使用 javascript 对象文字表示法定义函数
【发布时间】:2012-03-28 17:52:22
【问题描述】:
This thread 描述了如何使用 Javascript 对象文字符号来描述函数集合,例如:
var crudActions = {
create : function () {
...
}
read : function () {
...
}
}
这种模式有名字吗?使用这种方法有什么好处吗?
【问题讨论】:
标签:
javascript
json
function
object-literal
【解决方案1】:
创建对象并定义属性和值
var personA = {
name:"personName",
age : 23,
sex : "Male",
info:function() {
console.log(name + ": "+age+ ": "+sex);
}
};
对象中变量和函数的声明方法。这种方法多用于闭包。
【解决方案2】:
你刚才所做的是给你的函数一个“命名空间”。您的函数现在是“相关任务的集合”
命名空间意味着您的函数不再“存在”在全局范围内(从而避免用其他函数污染/覆盖它)。因此,您的所有函数都可以从“命名空间”中寻址,而不必担心另一个函数是否与它同名(例如另一个 create())。
就像在你的应用中说你有一个数据库和一个视图。两者都可以进行“创建”,但不可能有 2 个create() 函数。创建像createDatabase() 和createView() 这样的奇怪名称是没有组织的。因此,您可以创建命名空间,以便它们可以被称为 database.create() 和 view.create() - 更有意义。