IE9数组相关对象语法报错(SCRIPT1028)的替代方案咨询
解决IE9中SCRIPT1028错误的替代方案
你碰到的这个问题很典型——IE9完全不支持ES6引入的计算属性名语法,也就是你代码里用[nombresColumnas[0]]作为对象键的写法,老IE会把这种语法当成非法格式,所以抛出了SCRIPT1028错误。
要兼容IE9,你可以用ES3就支持的“先创建空对象,再通过方括号赋值”的写法,这是最稳妥的替代方案:
var nombresColumnas = ["data0","data1","data2","data3"]; // 先创建空对象 var columnColors = {}; // 逐个用方括号给对象添加属性 columnColors[nombresColumnas[0]] = '#33E789'; columnColors[nombresColumnas[1]] = '#00CCFF'; columnColors[nombresColumnas[2]] = '你的颜色值'; columnColors[nombresColumnas[3]] = '你的颜色值';
这种写法在所有IE9及以上的浏览器(包括Chrome)都能正常运行,因为方括号语法是很早就支持的特性,完全不会触发语法错误。如果你的代码里原本是在某个场景直接使用这个对象,现在只需要把columnColors代入原来的位置就可以了。
内容的提问来源于stack exchange,提问作者yavg
相关产品推荐
相关产品推荐

