2

我需要用字符串构建一个对象属性,但我如何使用这个字符串的值作为属性名称?

var x = 'a';
var y = 'b';
var xy = x + y;

var z = {
    xy: 'some text'
};

现在我可以通过z['xy']但不能通过z['ab'].

4

2 回答 2

5

你正在尝试写

var z = {};
z[xy] = 'some text';

您不能使用对象文字来执行此操作。

于 2012-04-11T15:03:49.823 回答
0

正如@SLaks 在这里所说- 它不可能使用对象文字......你可以使用数组:

var x = 'a';
var y = 'b';
var xy = x + y;

var z = [];  // define array
z[xy]='some text';​​​
alert(z['ab']); // outputs 'some text'
​
于 2012-04-11T15:25:42.763 回答