javascript for...in 语句代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。for (变量 in 对象){ 在此执行代码}<html><body><script type="text/javascript">var xvar mycars = new Array()mycars[0] = "Saab"mycars[1] = "Volvo"mycars[2] = "BMW"for (x in mycars){document.write(mycars[x] + "<br />")}</script></body></html> 注意一:for in循环不会按照属性的下标来排列输出。http://www.cnblogs.com/rubylouvre/p/3396042.html"first":"first", "zoo":"zoo", "2":"2", "34":"34", "1":"1", "second":"second"};for (var i in obj) { console.log(i); };输出:1234firstzoosecond 实例1:在数组的原型对象上定义了一个新的属性,使用for循环没出现问题function getNewArray(){var array=[1,2,3,4,5];Array.prototype.age=13;var result = [];for(var i=0;i<array.length;i++){result.push(array[i]);}alert(result.join(''));}function getArrayTwo(){var array=[1,2,3,4,5 ];var result=[];for(var i in array){result.push(array[i]);}alert(result.join(''));}function getNewArrayTwo(){var array=[1,2,3,4,5 ];Array.prototype.age=13;var result=[];for(var i in array){result.push(array[i]);}alert(result.join(''));} 解决方法: 2.对象经常被用作哈希值,这就是存在hasOwnProperty被另外的属性屏蔽的风险(但是我估计没有人那么无聊使用这个属性)function finalArray(){var array=[1,2,3,4,5 ];Array.prototype.age=13;var result=[];for(var i in array){if(array.hasOwnProperty(i)){result.push(array[i]);}}alert(result.join(''));}
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。