Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE 7,8给出错误“;对象没有';t支持属性或方法';钥匙'&引用;_Javascript - Fatal编程技术网

Javascript IE 7,8给出错误“;对象没有';t支持属性或方法';钥匙'&引用;

Javascript IE 7,8给出错误“;对象没有';t支持属性或方法';钥匙'&引用;,javascript,Javascript,我遇到了一个javascript问题,internet explorer 7和8在控制台中给出了一个错误 我认为keys方法可能不受支持?这是导致问题的一段代码: if (count == Object.keys(aResults).length) { if (typeof Object.keys === 'function') { globalPriceGroupKey = Object.keys(globalPriceGroup[colorID]); } el

我遇到了一个javascript问题,internet explorer 7和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];
    });
}

我可以对这段代码做些什么,使它与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;
    };
}

更好的版本是,它通常提供有用的垫片。

是。这一点都不难。非常简单的垫片如下所示:

if (!Object.keys) {
    Object.keys = function(obj) {
        var keys = [],
            key;

        for (key in obj) {
            if (obj.hasOwnProperty(key)) {
                keys.push(key);
            }
        }

        return keys;
    };
}

一个更好的版本是,它通常提供有用的垫片。

Object.keys在旧版IE中不受支持,从错误消息中应该可以明显看出这一点。向上查看,在底部您将看到浏览器支持。奇怪的代码-在第一行中使用
Object.keys()
-紧接着是一条检查该函数是否存在的
if
语句!你弄错序列了吗?在我清理了你的凹痕后,它变得(更)明显;-)Object.keys在旧版IE中不受支持,从错误消息中可以明显看出?向上查看,在底部您将看到浏览器支持。奇怪的代码-在第一行中使用
Object.keys()
-紧接着是一个
if
语句,检查该函数是否存在!你弄错序列了吗?在我清理了你的凹痕后,它变得(更)明显;-)