var json = {name: 'chan'};
var variable = 'age';
$.extend(json, {[variable]: 35});
$('#result').html(JSON.stringify(json));
此方法适用于除IE以外的大多数流行浏览器,我需要动态定义对象键,如何使其在IE上工作?
答案 0 :(得分:4)
对象初始值设定项中属性名称的[]
表示法是ES2015功能,旧版本的Internet Explorer不支持它。 (较旧版本的所有浏览器都不支持它;有很多移动设备也会认为是错误。)
但是,您可以在属性赋值表达式中使用[ ]
:
json[variable] = 35;
这应该适用于所有地方。
答案 1 :(得分:1)
这样做:json[variable] = 35
代替$.extend(json, {[variable]: 35});
。
这应该适用于IE。