对javascript数组值/键进行连接

rev*_*evo -2 javascript

为什么不允许连接javascript数组的值或键?

var arr = {'date': year + ", " + month};
Run Code Online (Sandbox Code Playgroud)

要么

var arr = {'to' + 'day': day};
Run Code Online (Sandbox Code Playgroud)

Bra*_*tie 5

首先,您要声明的对象不是数组.

其次,你的第一个例子是可能的:

var year = 2013,
    month = 7;
var obj = {'date': year + ', ' + month };
console.log(JSON.stringify(obj));
> {"date":"2013, 7"}
Run Code Online (Sandbox Code Playgroud)

但要在属性中连接,你必须做一点不同的事情:

var day = 'Monday',
    obj = {};
obj['to' + 'day'] = day;
console.log(JSON.stringify(obj));
> {"today":"Monday"}
Run Code Online (Sandbox Code Playgroud)

对象有点挑剔,因为冒号(:)左边的值字面上被解释为一个字符串(并没有被解析为一个值).这是说,下面就不会工作:

var day = 'Monday',
    label = 'to' + 'day';
console.log(label);
> "today"
var obj = { label: day };
console.log(obj);
> {"label":"Monday"}
Run Code Online (Sandbox Code Playgroud)

注意如何label解释为字符串常量而不是变量名.