1

我有一个对象:

obj = {
    obj1: {
        name: "Test";
    }
}

和功能:

var anon = function(a) {
    alert(obj.a.name);
}

我想给出一个参数“obj1”。我是编程新手,所以我认为我应该对“测试”保持警惕,但它不起作用。如何给论据提供参考?

4

2 回答 2

4

你可以这样做:你总是可以访问对象的属性obj[key],这就是我们在这里所做的。

var anon = function(a) {
    alert(obj[a].name);
}

;从内联对象属性定义语法中删除。

obj = {
    obj1: {
        name: "Test"; //<-- Here
    }
}

http://jsfiddle.net/RuCnU/

链接可以为您提供有关对象和键的一些基本见解。

于 2013-06-14T16:18:12.647 回答
1
var anon = function(a) {
    alert(obj[a].name);
}

当您使用方括号使用字符串查找对象的属性时,obj.a仅当对象具有名为 的属性时才会起作用a,例如obj = {a: "Test"}

于 2013-06-14T16:18:24.300 回答