js关于循环的理解
2024-08-31 16:51:57
学习任何语言都离不开循环,js也是一样,看了网上的资料,整理一份关于js循环的理解。
1.最基础循环,js和其他高级语言一样使用for、while循环
(function() {
for(var i=0, len=demoArr.length; i<len; i++) {
console.log('demo1Arr['+ i +']:' + demo1Arr[i]);
}
})();
- for循环中的
i
在循环结束之后任然存在与作用域中,为了避免影响作用域中的其他变量,使用函数自执行的方式将其隔离起来()()
; - 避免使用
for(var i=0; i<demo1Arr.length; i++){}
的方式,这样的数组长度每次都被计算,效率低于上面的方式。也可以将变量声明放在for的前面来执行,提高阅读性
使用范围,js的for循环只能用于 字符串和数组对象, 对于普通的对象不适用。
2.for in 循环遍历
for(var index in demoArr){
console.log(demoArr[index]);
}
一般来说不要用for in来遍历数组,数组索引只是具有整数名称的枚举属性,并且与通用对象属性相同。不能保证for ... in
将以任何特定的顺序返回索引;
对于对象和字符串也是一样, 但是不能遍历 set 和 map;
3. for of 是es6中的遍历方式,需要被遍历的对象实现interator接口,这个知识点在es6中,普通对象想用for of必须实现interator接口,当数据使用for of去遍历的时候,该属性会自动去找Symbol.iterator属性,当然map set 数组这些都是没问题的
4.forEach 循环 遍历数组 set map 不能遍历 字符串 对象
最新文章
- EFS解密----未重装系统
- php接收数据
- 远程测试mysql数据库3306端口报错
- 系统数据文件和信息之附加组ID
- libCURL动态分配buffer——节约内存
- Linux程序设计(二)shell程序设计
- View.setTag()的作用
- bzoj 2741: 【FOTILE模拟赛】L 分塊+可持久化trie
- 【转】Linux下svn的常用工作流程
- qt环境问题导致的编译错误
- CentOS7--Xshell网络中断引起的vi编辑文件问题
- web压力测试-pylot
- TypeConverter的使用
- 开源HUSTOJ
- Python 安装beautifulsoup4遇到No module named setuptools问题解决方法
- Java代码审计入门篇
- 微信WebView关闭后本地cookie无法清除问题
- hihoCoder week19 RMQ问题再临-线段树 单点更新 区间查询
- linux 多进程fork
- foreach的使用原理简单解析
热门文章
- Spring Boot AutoConfiguration注解@ConditionalXXXX之前生今世
- spring boot自动配置之jdbc
- asp.net导出execl和图片
- 【Git 三】生成并添加SSH秘钥
- [NOIP2014普及组]子矩阵
- What is x86 Conforming Code Segment?
- select &;amp; epoll
- UI_UISegmentedControl 控件
- android-Animation进阶(创造用户舒服的动画)
- CSS的水平居中和垂直居中解决方案