for, for..in, in, for...of的区别
2024-08-27 18:10:07
for是ES5里做数组循环里最常用的
for (var i = 0; i < array.length; i++) {
// todo
}
for...in是ES5里用来遍历对象属性用的
var obj = {a:1, b:2, c:3}; for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
注意,数组索引只是具有整数名称的枚举属性,并且与通用对象属性相同。不能保证for ... in将以任何特定的顺序返回索引。for ... in循环语句将返回所有可枚举属性,包括非整数类型的名称和继承的那些。
因为迭代的顺序是依赖于执行环境的,所以数组遍历不一定按次序访问元素。因此当迭代访问顺序很重要的数组时,最好用整数索引去进行for循环(或者使用 Array.prototype.forEach() 或 for...of 循环)。
in是用来判断某变量是否是对象的属性key-value的key的
var obj = {
w: 'wen',
j: 'jian'
} var result = ("j" in obj); //true
for...of是ES6新增的,用来遍历具有Iterator接口的数据结构。
参考资料:
http://sunct.iteye.com/blog/1709017
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for...in
最新文章
- Java Netty 4.x 用户指南
- 20161106PM-Fiddler
- Struts2(十五)实现文件上传
- Apache James搭建内网邮件服务器
- Android开发之在子线程中使用Toast
- 网站资料收集 主要查看js的学习部分
- scrollView的几个属性contentSize contentOffset contentInset
- HDU 2604 - Queuing
- php fsockopen例子
- 【字符串】ZSC-字符串编辑
- 一个小误区 JS中的contains
- sync;sync;sync;reboot
- laravel表单操作
- 用python写个简单的小程序,编译成exe跑在win10上
- linux每日命令(39):lsof命令
- jack welch:“你们知道了,但是我们做到了”
- 跳台阶(python)
- Spring中ApplicationEvent和ApplicationListener封装
- 在selenium中使用css选择器进行元素定位
- Spring Boot 中 Controller 使用