我在IE8中测试不支持Object方法时遇到错误.我正在使用Object.keys()
Object.keys(jsoncont).sort(function(a,b){
return b.localeCompare(a)
}).forEach(function(key) {
var val = jsoncont[key];
/* My code here */
});
}
Run Code Online (Sandbox Code Playgroud)
IE8支持这种方法有一个很好的解决方法吗?
在其他浏览器(opera,chrome)中,可折叠(隐藏和显示数据)工作正常。但是,进入IE onclick(如图所示,在公司)数据正在显示(展开),单击同一标签/按钮(公司)的数据没有隐藏。在控制台错误显示为Object.keys: argument is not an Object
我在这里发现相关问题Object.keys在Internet Explorer中不起作用, 但不适用于我的代码(对我没有帮助)。请帮我解决这个问题?
提前致谢。
Object.keys()方法对我来说适用于以下代码:
var foo = {foo: 1, bar: 2};
console.log(Object.keys(foo).length);
Run Code Online (Sandbox Code Playgroud)
但是,Object.keys()为内置对象返回一个零长度数组,其代码如下:
<!doctype html>
<html>
<head>
<title>Object.keys()</title>
</head>
<body>
<script type="text/javascript">
console.log(Object.keys(window.document).length);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想念什么吗?我正在使用Internet Explorer 9.0.8112.16421。
后记:我仍然不清楚为什么(例如):
for (prop in performance.timing) {
if (performance.timing.hasOwnProperty(prop)) {
console.log(prop);
}
}
Run Code Online (Sandbox Code Playgroud)
...在IE9中什么也没产生,但是效果很好:
for (prop in performance.timing) {
console.log(prop);
}
Run Code Online (Sandbox Code Playgroud)