位置: 编程技术 - 正文

详解javascript遍历方式(js遍历foreach)

编辑:rootadmin

推荐整理分享详解javascript遍历方式(js遍历foreach),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js遍历foreach,js遍历对象的几种方法,js遍历对象的几种方法,javascript遍历数组方法,js遍历是什么意思,js遍历是什么意思,js遍历是什么意思,js遍历的几种方式,内容如对您有帮助,希望把文章链接给更多的朋友!

为了方便例子讲解,现有数组和json对象如下

for

可以直接看示例,用得太多了,很简单

关于for循环,有以下几点需要注意

for循环中的i在循环结束之后任然存在与作用域中,为了避免影响作用域中的其他变量,使用函数自执行的方式将其隔离起来()(); 避免使用for(var i=0; i<demo1Arr.length; i++){} 的方式,这样的数组长度每次都被计算,效率低于上面的方式。也可以将变量声明放在for的前面来执行,提高阅读性 跳出循环的方式有如下几种

return 函数执行被终止break 循环被终止continue 循环被跳过完整实例

for in

for(var item in arr|obj){} 可以用于遍历数组和对象

遍历数组时,item表示索引值, arr表示当前索引值对应的元素 arr[item] 遍历对象时,item表示key值,arr表示key值对应的value值 obj[item]

关于for in,有以下几点需要注意:

在for循环与for in循环中,i值都会在循环结束之后保留下来。因此使用函数自执行的方式避免。 使用return,break,continue跳出循环都与for循环一致,不过关于return需要注意,在函数体中,return表示函数执行终止,就算是循环外面的代码,也不再继续往下执行。而break仅仅只是终止循环,后面的代码会继续执行。

forEach

demoArr.forEach(function(arg) {})参数arg表示数组每一项的元素,实例如下

具体有以下需要注意的地方

forEach无法遍历对象forEach无法在IE中使用,firefox和chrome实现了该方法forEach无法使用break,continue跳出循环,使用return时,效果和在for循环中使用continue一致do/while

详解javascript遍历方式(js遍历foreach)

函数具体的实现方式如下,不过有一点值得注意的是,当使用continue时,如果你将i++放在了后面,那么i++的值将一直不会改变,最后陷入死循环。因此使用do/while一定要小心谨慎一点。

不建议使用do/while的方式来遍历数组// 直接使用while

$.each

$.each(demoArr|demoObj, function(e, ele))可以用来遍历数组和对象,其中e表示索引值或者key值,ele表示value值

输出为

0 "Javascript"1 "Gulp"2 "CSS3"3 "Grunt"4 "jQuery"5 "angular"这里有很多需要注意的地方

使用return 或者return true为跳过一次循环,继续执行后面的循环 使用return false为终止循环的执行,但是并不终止函数执行 无法使用break与continue来跳过循环 循环中this值输出类似如下

关于上面的this值,遍历一下

为什么length 和 [[PrimitiveValue]]没有遍历出来?突然灵光一动,在《javascript高级编程》中找到了答案,大概意思就是javascript的内部属性中,将对象数据属性中的Enumerable设置为了false

$.each 中的 $(this) 与this有所不同,不过遍历结果却是一样,你可以在测试代码中打印出来看看$(selecter).each

专门用来遍历DOMList

i: 序列值 ele: 只当前被遍历的DOM元素 this 当前被遍历的DOM元素,不能调用jQuery方法 $(this) == $(ele) 当前被遍历元素的jquery对象,可以调用jquery的方法进行dom操作

使用for in 遍历DOMList

因为domList并非数组,而是一个对象,只是因为其key值为0,1,2... 而感觉与数组类似,但是直接遍历的结果如下

因此我们在使用for in 遍历domList时,需要将domList转换为数组

类似这样的对象还有函数的属性arguments对象,当然字符串也是可以遍历的,但是因为字符串其他属性的enumerable被设置成了false,因此遍历出来的结果跟数组是一样的,也就不用担心这个问题了.小补充

如果你发现有些人写函数这样搞,不要惊慌,也不要觉得他高大上。

()(), !function() {}() +function() {}() 三种函数自执行的方式。

标签: js遍历foreach

本文链接地址:https://www.jiuchutong.com/biancheng/383725.html 转载请保留说明!

上一篇:js window对象属性和方法相关资料整理(js对象属性值)

下一篇:js文字横向滚动特效(js文字滚动代码)

  • 增值税发票平台怎么下载已认证发票
  • 农产品减免税政策最新
  • 发放上年年终奖个税
  • 税务硕士是什么学位类别
  • 多余的进项税该怎么处理
  • 购房补贴退契税多久到账
  • 预期信用损失率计算公式
  • 内含报酬率与必要报酬率相等
  • 城镇土地使用税的征税范围有哪些
  • 预收贷方余额表示什么意思
  • 小规模纳税人缴纳上月应交增值税
  • 冲销以前年度营业外支出
  • 预缴增值税怎么填表
  • 物流运输途中损坏怎么办
  • 低值易耗品摊销方法
  • 营改增后进项税额分摊
  • 公司买包包送员工入可以计入什么科目?
  • 增值税专用发票抵扣期限
  • 物流公司开票税率
  • 一次性奖金如何交税
  • 费用类有什么科目
  • 公司借出的私人物品
  • 本月已认证发票还能撤销吗
  • 门店里备用客户喝的茶叶怎么入账?
  • 未分配利润是什么类科目
  • 服装具有什么性
  • 不开票的收入怎么避税
  • 货物入库会计分录怎么做
  • 微软雅黑字体一般用在哪里
  • 报销培训费怎么做账
  • 报销费用多付会计分录
  • 鸿蒙系统怎么设置桌面小组件
  • 收益性支出与资本性支出的主要特点
  • 环保税与排污费的联系
  • wifi增强器1200m的是不是比较好
  • 回迁房?
  • 金融业务增值税税率
  • php进程太多
  • 没有利润,能否开发票
  • 合同负债和预收负债的区别
  • unity怎么打包unitypackage
  • vue区别
  • 写一个简单的php程序代码
  • 什么是现金流量净额
  • 增资扩股税务处罚标准
  • 股东分红缴税期限
  • 税控盘没交年费会怎么办
  • 外购商品转为自用固定资产,进项税
  • 购买固定资产未入账
  • 一般纳税人认定管理办法
  • 固定资产折旧的账务处理
  • 公户直接转给私人账户违法么
  • 旅游业营改增会计分录
  • 提供劳务方式是什么意思
  • 企业的专利收费是多少
  • 外汇汇兑损益财务处理
  • 专用发票冲红有时间有时间限制吗
  • 工程项目预缴税率
  • 申报和做账必须一致吗
  • 税金及附加没有设置二级科目,有啥影响吗
  • 会务费入哪个科目
  • sql server常规错误
  • mysql数据库定时备份脚本
  • mysql调用数据库语句
  • windows2003r2安装教程
  • win8系统连接网络
  • linux系统ln命令
  • spybotsd.exe - spybotsd 是什么文件进程
  • linux内核2.3.20
  • win7本地连接ipv4属性闪退
  • [置顶] [寒江孤叶丶的Cocos2d-x之旅_29]在Cocos2d-x中集成protobuf (Protocol Buffers)
  • 事件委托机制的三个主要组件
  • 全网最全的小说阅读器
  • jquery的插件
  • sequelize-cli
  • 在vue中添加按钮使内容消失
  • jquery遍历元素并赋值
  • android常见问题及解决方法
  • 国税总局网
  • 武汉税务电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设