我需要用字符串构建一个对象属性,但我如何使用这个字符串的值作为属性名称?
var x = 'a';
var y = 'b';
var xy = x + y;
var z = {
xy: 'some text'
};
现在我可以通过z['xy']
但不能通过z['ab']
.
我需要用字符串构建一个对象属性,但我如何使用这个字符串的值作为属性名称?
var x = 'a';
var y = 'b';
var xy = x + y;
var z = {
xy: 'some text'
};
现在我可以通过z['xy']
但不能通过z['ab']
.
你正在尝试写
var z = {};
z[xy] = 'some text';
您不能使用对象文字来执行此操作。
正如@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'