变量作为对象键剂量在IE中不起作用

时间:2015-10-09 12:11:10

标签: javascript jquery

Fiddle

var json = {name: 'chan'};
var variable = 'age';

$.extend(json, {[variable]: 35});

$('#result').html(JSON.stringify(json));

此方法适用于除IE以外的大多数流行浏览器,我需要动态定义对象键,如何使其在IE上工作?

2 个答案:

答案 0 :(得分:4)

对象初始值设定项中属性名称的[]表示法是ES2015功能,旧版本的Internet Explorer不支持它。 (较旧版本的所有浏览器都不支持它;有很多移动设备也会认为是错误。)

但是,您可以在属性赋值表达式中使用[ ]

json[variable] = 35;

这应该适用于所有地方。

答案 1 :(得分:1)

这样做:json[variable] = 35代替$.extend(json, {[variable]: 35});

这应该适用于IE。