即是否可以这样做:
var fruit = "banana";
var x = {
"app" + "le" : 5, // "apple" : 5
function(){return "orange"} : 8, // "orange" : 8
"" + fruit : 3 // "banana" : 3
};
即是否可以这样做:
var fruit = "banana";
var x = {
"app" + "le" : 5, // "apple" : 5
function(){return "orange"} : 8, // "orange" : 8
"" + fruit : 3 // "banana" : 3
};
不,你不能,你需要在第一次初始化后喂它:
var myKeyName = "bar";
x[myKeyName] = "foo";
您需要声明空对象并在之后构建字符串。对象字面量的名称需要有效的字符串
如果你不运行'orange'的函数并定义它,你想成为'orange'的名字将是整个函数的字符串。
var fruit = "banana";
var x = {};
x["app" + "le"]=5;
x[(function(){return "orange"})()]=8;
x[fruit]=3;
/* returns x={
apple: 5,
banana: 3,
orange: 8
}