【发布时间】:2012-02-13 19:32:24
【问题描述】:
我有一段时间没有认真地进行 JavaScript 编程了,我正在为我的一些同事编写该语言的介绍指南。我想讨论循环的最佳实践,但有一个小细节我一直记在脑后:
在遍历数组时,我记得以下模式使用起来并不安全,因为有一些主流浏览器不支持它:
for (var i = 0; i < ls.length; i++) { ... }
相反,必须将 var 关键字移出数组,如下所示:
var i;
for (i = 0; i < ls.length; i++) { ... }
这是正确的吗?我已经搜遍了网络,无法确认这一点。是不是有些老浏览器不支持第一种方法?如果没有,哪些没有?
【问题讨论】:
-
我个人认为第一个示例会失败的任何浏览器。
-
2012 年常用的浏览器均不支持其中任何一个。它们完全一样。 (当我说“常用”时,我的意思是被不止一两个外围案例所使用;也许有人在某个地方运行 Netscape 3,但你明白了。而且 Netscape 3 可能工作了。)
-
您希望获得多大的年龄?我们是在谈论 Netscape 和 IE3,还是您指的是 IE7 时间范围?
-
在我使用 Javascript 编写代码的时间里(当然不是很长),我不记得在使用第一种方法时遇到过任何问题。您希望支持哪些浏览器的哪些版本?如果您可以访问所有这些,应该不会太难测试。
-
此外,在您对这个项目感到震惊之前,网络上大量优质的 JavaScript 教程信息令人难以置信。那里有数以千计的此类教程,以及大量最新的书籍。
标签: javascript for-loop cross-browser