19

例如下面的代码打印

{键:'b'}

function myFunc(key, value) {
    myFunc2({key: value});
}

function myFunc2(obj) {
    console.log(obj);
}

myFunc('a', 'b');

我怎样才能打印出来

{'a':'b'}

4

6 回答 6

15

您可以从构造中单独添加属性:

function myFunc(key, value) { 
  var item = {};
  item[key] = value;
  myFunc2(item);
}
于 2012-06-20T04:54:50.107 回答
14

ES6

function myFunc(key, value) {
  myFunc2({[`${key}`]: value});
}

增强的对象文字

于 2017-01-16T13:42:52.853 回答
2

您不能,Javascript 对象文字 ({}) 中的键必须是文字,而不是变量。使用传统的 Object 语法。

function myFunc(key, value) {
    myObj = new Object();
    myObj[key] = value;
    myFunc2(myObj);
}
于 2012-06-20T04:57:47.753 回答
1
var a=new Object();
a[key]=value;
myFunc2(a);
于 2012-06-20T04:55:26.450 回答
0
function myFunc(key, value) {
    var obj = new Object();
    obj[key] = value;
    console.log(obj);
}
于 2012-06-20T04:58:53.010 回答
0

简而言之:

function myFunc(key, value) {
    var tmp = {};
    myFunc2((tmp[key] = value,tmp));
}
于 2012-06-20T05:24:22.023 回答