解决IE8对象不支持js方法keys()

 我来答
cainiaokan
推荐于2017-12-15 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:611万
展开全部

Object.keys方法是ES5中的函数。IE8不支持。


如果你想使用兼容ES5的所有特性。建议你使用ES5-shim来在不支持ES5特性的浏览器中增加ES5的支持。https://github.com/es-shims/es5-shim/blob/master/es5-shim.js。你可以引入这里的js。之后你的代码里就可以在任何浏览器上放心的使用ES5中的特性了。


如果你仅仅只是为了解决此处的Object.keys。

可以不用ES5的函数,而用普通的方式解决,如下:

this.newNode = function(parentId){
    var nextId = [];
    for(var p in nodes){
        if(nodes.hasOwnProperty(p)){
            nextId.push(p);
        }
    }
    nextId = $(nextId).size();
    while(nextId in nodes){
        nextId++;
    }
    self.addNode({id: nextId, name: '', parent : parentId });
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式