我遇到了一个JavaScript问题,其中Internet Explorer 7和Internet Explorer 8在控制台中给出了错误。
我认为可能不支持keys方法?这是导致问题的代码:
if (count == Object.keys(aResults).length) {
if (typeof Object.keys === 'function') {
globalPriceGroupKey = Object.keys(globalPriceGroup[colorID]);
} else {
for (var key in globalPriceGroup[colorID]) {
globalPriceGroupKey.push(key);
}
}
//globalPriceGroup[colorID].sort( function numOrdA(a, b){ return (a-b); } );
globalPriceGroupKey.sort(function(a, b) {
return globalPriceGroup[colorID][a] - globalPriceGroup[colorID][b];
});
}
Run Code Online (Sandbox Code Playgroud)
我有什么办法可以使该代码与ie7 / 8兼容?
是。这一点都不难。一个非常简单的垫片将如下所示:
if (!Object.keys) {
Object.keys = function(obj) {
var keys = [],
key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
keys.push(key);
}
}
return keys;
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |