使用函数参数值作为字典键

尝试使用通过函数parameter passing的键来构build字典。

var progres_mark = function(progress_state) { var now = Date(); console.log({ progress_state : now }) } progres_mark("encode") 

预期

 { 'encode': 'Sun Oct 19 2014 18:22:33 GMT+0300 (IDT)' } 

实际

 { progress_state: 'Sun Oct 19 2014 18:22:33 GMT+0300 (IDT)' } 

这是怎么回事?

因为编译器只需要一个标识符或一个string ,因此不会计算出variables的值。 但是你可以使用括号符号来实现你想要的。

 var progres_mark = function(progress_state) { var now = Date(); var obj = {}; obj[progress_state] = now; console.log(obj) }