JavaScript中for循环和for in 循环的区别
来源:互联网 发布:极品网络女神sally 编辑:程序博客网 时间:2024/04/30 01:23
//在遍历数组上的异同
var arr = ['a','b','c'];for(var i = 0;i < arr.length;i++){console.log(typeof(i));//numberconsole.log(arr[i]);//a,b,c}var att = ['a','b','c'];for(var j in att){console.log(typeof(j));//stringconsole.log(att[j]);//a,b,c}
for循环和for in循环都可以遍历获取到数组的内容;
for循环获取数组下标的typeof类型为number;
for in 循环获取数组下标的typeof类型为string;
//在遍历对象上的异同
var obj = new Object({name:"Simon",age:"16",city:"BJ"});console.log(obj.length);//undefinedfor(var i = 0;i < obj.length;i++){console.log(i);//空的console.log(obj[i]);//空的}for(var j in obj){console.log(j);//name,age,cityconsole.log(obj[j]);//simon,16,BJ}
for循环不能用于循环对象,因为for循环无法获取obj.length,所以for循环只能用于数组操作;
for in 循环可以获取对象的键值,可以操作数组,还可操作对象;
-----------------------------------------分割线-----------------------------------------------------------
但是:在操作数组的性能上:for循环的性能要高于for in 循环;
贺师俊老师在知乎说到(链接:https://www.zhihu.com/question/38472789/answer/76649492):
for...in 效率是最低的。这是因为 for...in 有一些特殊的要求,包括:
1. 遍历所有属性,不仅是 own properties 也包括原型链上的所有属性。
2. 忽略 enumerable 为 false 的属性。
3. 必须按特定顺序遍历,先遍历所有数字键,然后按照创建属性的顺序遍历剩下的。
阅读全文
0 0
- JavaScript中for循环和for in 循环的区别
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- javascript中的for in循环和for循环的使用
- JS中for 循环 与 for in 循环的区别
- for 循环和 for/in 循环的区别
- for ... of循环和for ... in循环的区别
- JavaScript中for..in循环的陷阱
- javaScript的for in 循环
- javascript的for in 循环
- javascript for和for in循环管
- JavaScript中forEach、for-in、for-of循环的比较
- JavaScript for...in循环
- javascript for in 循环
- JavaScript for...in循环
- Android开发-备忘录模式在Android的应用和模拟实验
- 《一个Android工程的从零开始》-3、base(二) BaseActivity布局相关代码——空布局控件的运用
- Python爬虫:Xpath语法笔记
- Java类加载器深入探究
- java虚拟机dump分析入门
- JavaScript中for循环和for in 循环的区别
- Android 超级萌的猫头鹰登录界面
- mongodb-windows安装和基本操作
- hibernate的三种状态
- EMV规范(二)——应用选择
- EXT4 之 文件系统在磁盘上的布局 之一
- BoneCP 数据库连接池
- 保留小数
- Android自动化测试|Espresso-list