2009-01-09 39 views
3

假设你使用以下结构:如何使用嵌套函数的对象

var Args = new Object(); 
Args.Age = '10'; 
Args.Weight = '10'; 

Args.GetAge = function() { 
    return 'I am ' + Age + ' years old'; 
} 

Args.GetWeight = function() { 
    return 'I weigh ' + Weight + ' pounds'; 
} 

那伟大工程。但是有可能使用泛型,所以你不必为每个变量创建一个函数?例如,如下所示:

Args.GetValue = function(i) { 
    return this.i; 
} 

这似乎不起作用,但我甚至不知道这是否可能。任何人都知道这个谜题的答案?

回答

4

您可以通过[]访问属性的符号:

alert(Args["Age"]); 

而且,如下所述,也可以只是读通过。年龄或。重量值:

alert(Args.Age); 

那种似乎很明显,所以我认为你在寻找别的东西。

BTW,您可以简化对象创建于:

var args = { Age : '10', Weight : '10' }; 
+0

我正在使用一个对象来保存我的脚本启动参数,并需要将它们按摩到适当的格式。我有一个函数检索参数,但我想将函数嵌套到对象中。 – Dscoduc 2009-01-09 23:07:29

1
var Args = {}; 
Args.Age = '10'; 
Args.Weight = '10'; 

alert(Args.Age); 
alert(Args.Weight); 

他们访问既为读/写,你不需要制定者/吸气。