为什么不允许连接javascript数组的值或键?
var arr = {'date': year + ", " + month};
Run Code Online (Sandbox Code Playgroud)
要么
var arr = {'to' + 'day': day};
Run Code Online (Sandbox Code Playgroud)
首先,您要声明的对象不是数组.
其次,你的第一个例子是可能的:
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解释为字符串常量而不是变量名.
| 归档时间: |
|
| 查看次数: |
1321 次 |
| 最近记录: |