// 次佳的循环for (var i = 0; i < myarray.length; i++) {// 使用myarray[i]做点什么} 这样的代码虽然没有什么大问题,但是每次循环都会获取一下数组的长度,这回降低你的代码,尤其当myarray不是数组,而是一个HTMLCollection对象的时候。for (var i = 0, max = myarray.length; i < max; i++) {// 使用myarray[i]做点什么}这样地代码只会获取一次数组的长度,提高了代码的质量;function looper() {var i = 0,max,myarray = [];// ...for (i = 0, max = myarray.length; i < max; i++) { // 使用myarray[i]做点什么}}javascript使用for循环时问题总结Array.prototype.indexOf = function(){...};var arr = [1, 2];for (x in arr) console.log(x);12function(){…}换句话说,把indexOf这个方法给输出出来了。{0:"something", 1:"something else"} 
这里还有对forEach方法兼容性的详细阐述。事实上,主要的JavaScript框架(比如jQuery、Underscore和Prototype等等)都有安全和通用的for-each功能实现。
在JSLint的for in章节里面也提到,for in语句允许循环遍历对象的属性名,但是也会遍历到那些通过原型链继承下来的属性,这在很多情况下都会造成预期以外的错误。有一种粗暴的解决办法:
for (name in object) { if (object.hasOwnProperty(name)) { .... } }for(let i =0; i < a.length; i++)最后,在Google的JavaScript风格导引里面,也涉及到了这个约束:
for-in loop:Only for iterating over keys in an object/map/hash以上就是本文关于javascript 使用for循环时该注意的问题-附问题总结的全部内容,希望对今后的工作学习有所帮助,同时欢迎各位业内人士提出批评建议。