码迷,mamicode.com
首页 > 其他好文 > 详细

forin循环

时间:2017-08-15 10:04:10      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:shanghai   sha   需要   loop   设计   item   原型   结果   tin   

一、语法

1、遍历数组

var myArr=[‘camille‘,‘2020‘,‘vas‘,‘en‘,‘France‘];
for (var index in myArr) {
console.log(myArr[index]);
}
/*camille
  2020
  vas
  en
  France
*/

2、遍历对象

var myOject={
    name:"camille",
    age:"24",
    sex:"female",
    city:"shanghai",
    job:"frontend engineer"
};
for (var key in myOject) {
  myObject.hasOwnProperty(key) && console.log(myOject[key]);
}

for in,以任意序迭代一个对象的可枚举属性。实际是为循环enumerable对象而设计的,循环遍历对象的key。也可以循环数组,但是不推荐。因为 for in不仅遍历数组中的元素,还会遍历自定义的属性,甚至原型链上的所有可枚举属性都会被访问到。因此一般常用来遍历非数组的对象并且使用hasOwnProperty()方法去过滤掉原型链上的属性。for in 遍历属性的顺序并不确定,即输出的结果顺序与属性在对象中的顺序无关,也与属性的字母顺序无关,与其他任何顺序也无关。for in 比其他循环慢,如果明确需要迭代一个属性数量未知的对象,可以用for in循环。如果需要遍历一个数量有限的已知属性列表,使用其他循环会更快。

break跳出本次循环并执行循环体后的代码,continue结束本次循环执行下一次循环。没有return。

二、执行效率

var arr = [],
    arrlen = arr.length = 1000000;
for(var i=0; i<arrlen; i++){
  arr[i] = ‘looptest‘;
}
var t1 = +new Date();
for(var item in arr){
}
var t2 = +new Date();
console.log(‘for in:‘ + (t2-t1));

比其他循环慢。

 

forin循环

标签:shanghai   sha   需要   loop   设计   item   原型   结果   tin   

原文地址:http://www.cnblogs.com/camille666/p/js_forin_loop.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!