基于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个字符
答案 0 :(得分:12)
您确定您的网页在IE9模式下运行吗?检查开发工具(F12)。如果您有旧的DOCTYPE,您可能会在IE8 / 7模式下看到您的页面,因此不支持indexOf。如果您在IE9模式下运行,那么它可以正常工作。
答案 1 :(得分:0)
您的代码看起来正确,this compatibility table表明IE9应该支持indexOf()
并检查您的实际浏览器是否兼容。
尝试打开它并查看结果。也许你在IE7 / 8或其他东西的兼容模式下运行IE。
this jsfiddle适用于我的IE9 - 请尝试一下。
答案 2 :(得分:-2)
如果明确声明数组可能会有所帮助:
var a = new Array(1,2,3);
a.indexOf(2);