基于http://ie.microsoft.com/testdrive/HTML5/ECMAScript5Array/Default.html,我认为IE9支持数组中的indexOf,但是下面的突破。知道为什么吗?
<script type="text/javascript">
var a = [59, 20, 75, 22, 20, 11, 63, 29, 15, 77];
var result = a.indexOf(32);//
document.write(result);
</script>错误信息如下:
SCRIPT438: Object doesn't support property or method 'indexOf' test.php,第9行字符1
发布于 2011-10-17 18:11:25
您确定您的页面正在IE9模式下运行吗?签入开发工具(F12)。如果你使用的是旧的DOCTYPE,你可能会在IE8/7模式下看到你的页面,所以不支持indexOf。如果你在IE9模式下运行,那么它工作得很好。
发布于 2011-10-17 18:10:10
您的代码看起来是正确的,this compatibility table显示IE9应该支持indexOf(),并检查您的实际浏览器的兼容性。
试着打开它,看看你的结果。也许你正在IE7/8或其他兼容模式下运行你的IE。
this jsfiddle可以在我的IE9中运行--也请尝试一下。
发布于 2011-10-17 18:12:03
如果显式声明数组,可能会有所帮助:
var a = new Array(1,2,3);
a.indexOf(2);https://stackoverflow.com/questions/7792195
复制相似问题