Javascript for each循环在除firefox之外的主要浏览器中不起作用

Javascript for each循环在除firefox之外的主要浏览器中不起作用,javascript,google-chrome,firefox,internet-explorer-9,Javascript,Google Chrome,Firefox,Internet Explorer 9,我的代码: <script type="text/javascript"> for each ( var movie in ['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth'] ) document.writeln(movies + "<br/>"); </script> 但是在IE9和Chrome版本23.0.1271.95 m中,每个的都不起作用,文档中没有任何内容每个结构

我的代码:

<script type="text/javascript">
for each ( var movie in ['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth'] )
    document.writeln(movies + "<br/>");
</script>

但是在
IE9
Chrome版本23.0.1271.95 m
中,每个
都不起作用,文档中没有任何内容

每个
结构的
都是ECMAScript语言的扩展;它是在E4X规范中定义的,E4X规范没有得到广泛支持

我认为只有Firefox在HTML脚本微观世界中支持它,而且它已经被弃用:

要在数组上迭代,可以使用普通的
for
循环:

var movies = ['Endhiran The Robot', 'Shivaji The Boss', 'Anbulla Rajinikanth'];
for (var i = 0; i < movies.length; ++i) {
  document.writeln(movies[i] + "<br/>");
}
var movies=['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth'];
对于(变量i=0;i”);
}

每个
结构的
都是ECMAScript语言的扩展;它是在E4X规范中定义的,E4X规范没有得到广泛支持

我认为只有Firefox在HTML脚本微观世界中支持它,而且它已经被弃用:

要在数组上迭代,可以使用普通的
for
循环:

var movies = ['Endhiran The Robot', 'Shivaji The Boss', 'Anbulla Rajinikanth'];
for (var i = 0; i < movies.length; ++i) {
  document.writeln(movies[i] + "<br/>");
}
var movies=['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth'];
对于(变量i=0;i”);
}

JavaScript中的每个
都没有
,这是一个非标准扩展

还有一种新的浏览器,它在现代浏览器中得到了很好的支持,当然在旧浏览器中没有:

['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth'].forEach(function(movie) {
    document.writeln(movie + "<br/>");
});
['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth']forEach(函数(电影){
document.writeln(电影+“
”); });

这里有几个关于堆栈溢出的其他选项。(问题提到了jQuery,但答案涵盖了普通JavaScript和jQuery选项。)

JavaScript中没有针对每个
,这是一个非标准扩展

还有一种新的浏览器,它在现代浏览器中得到了很好的支持,当然在旧浏览器中没有:

['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth'].forEach(function(movie) {
    document.writeln(movie + "<br/>");
});
['Endhiran The Robot','Shivaji The Boss','Anbulla Rajinikanth']forEach(函数(电影){
document.writeln(电影+“
”); });


这里有几个关于堆栈溢出的其他选项。(问题提到了jQuery,但答案涵盖了普通JavaScript和jQuery选项。)

对于每个
都应该是
对于
顺便说一句,var
电影
应该是
电影
,对吗?您不应该使用
document.writeln
/
document.write
atall@TimB谢谢。我将编辑并更改为
电影
。有一个疑问,我对
单独使用了
,而不是对每个
使用
,但是
输出
我得到的是
0,1,2
,而不是那些
电影名称
是的,对,在索引上迭代,忘记了这一点。我建议你同意朱利安·罗耶的回答。@TimBüthe,谢谢。我同意朱利安·罗耶的答案。
对于每个
应该是
对于
顺便说一句,var
电影
应该是
电影
,对吗?您不应该使用
document.writeln
/
document.write
atall@TimB谢谢。我将编辑并更改为
电影
。有一个疑问,我对
单独使用了
,而不是对每个
使用
,但是
输出
我得到的是
0,1,2
,而不是那些
电影名称
是的,对,在索引上迭代,忘记了这一点。我建议你同意朱利安·罗耶的回答。@TimBüthe,谢谢。我同意朱利安·罗耶的答案。所以,
firefox
单独允许
用于每个
构造。所以,
firefox
单独允许
用于每个
构造。实际上,
用于每个
实际上是一个标准扩展。这是ECMA-357标准的一部分。@BorisZbarsky:有趣!但是357——XML的ECMAScript——不是当然我没说它是ECMA-262的一部分。我只是说它遵循一个已发布的扩展ECMA-262的标准@鲍里斯·巴斯基:的确如此。:-)实际上,每个
实际上是一个标准扩展。这是ECMA-357标准的一部分。@BorisZbarsky:有趣!但是357——XML的ECMAScript——不是当然我没说它是ECMA-262的一部分。我只是说它遵循一个已发布的扩展ECMA-262的标准@鲍里斯·巴斯基:的确如此。:-)