在ES6中,你可以这样做。
var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log(person); // should print Object { name="John"}
var key = "name";
var person = {[key]:"John"};
console.log(person); // should print Object { name="John"}
它被称为计算属性名称,它使用括号表示法(方括号)实现[]
例:{ [variableName] : someValue }
从 ECMAScript 2015 开始,对象初始值设定项语法还支持计算属性名称。这允许您将表达式放在括号 [] 中,该表达式将被计算并用作属性名称。
对于 ES5,请尝试类似如下的方法
var yourObject = {};
yourObject[yourKey] = "yourValue";
console.log(yourObject );
例:
var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log(person); // should print Object { name="John"}
var person = {};
var key = "name";
person[key] /* this is same as person.name */ = "John";
console.log(person); // should print Object { name="John"}