for循环和for in的区别
for … in循环由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组实际上也是一个对象,它的每个元素的索引被视为一个属性。
当我们手动给Array对象添加了额外的属性后,for … in循环将带来意想不到的意外效果:
而for循环去识别不了
for … in循环将把name包括在内,但Array的length属性却不包括在内。
for … of循环则完全修复了这些问题,它只循环集合本身的元素:
这就是为什么要引入新的for … of循环。
然而,更好的方式是直接使用iterable内置的forEach方法,它接收一个函数,每次迭代就自动回调该函数。以Array为例:
注意,forEach()方法是ES5.1标准引入的,你需要测试浏览器是否支持。
for循环可一遍历数组,而for in循环可以遍历数组和对象
使用for in循环会将Array当成对象遍历,而Array的存取速度明显比Object要快。所以使用for循环遍历数组比for in循环遍历快。
for循环遍历的是索引数组,通过索引来调用,i的返回值是number类型
而for in循环遍历的是关联数组,通过key来调用,i的返回值是string类型
这两者的具体用途 得看你用他的环境是什么.不能一概而论.
索引数组:仅仅用于存储数据. 优势在于迭代方便
关联数组:用于存放对应的数据格式, 优势在于 可以很方便 特定key对应的value 缺点:迭代麻烦
in,for的区别(仅限表示时间)
on at in of for
其他记不住不要紧,记住表示时间时 to 表示到什么时候,on表示在某日,at表示在某时刻,in表示在某段时间.以下用用例句说明:
It is 10 minutes to 12.差10分钟就到12点.
I will call you on Sunday(Oct 1).我星期天(10月1日)给你电话).
The meet will be ended at 10 AM.会议将在早上10点结束.
I will go to Beijing in July.我将在七月份去北京.
还有,on与动词结合往往表示精神上的东西,这个理解很管用.
如work on 说服别人,discuss on,谈论某事.
表示位置空间关系时,to 是达到,at 是点,on 是面,in 是包围在里面.例句:
I will go to school.我将去学校.
The ball is at the corner.球搁在角落里.
The ball is on the ground.球在地上.
The ball is in the box.球在盒子里.
of和for两个介词也可以表示时间,of 表示在一个时期的某段时间里,for 则表示时间的长度(完成时态用得多).例句:
I was studied very hard in the first year of my college.我大学的第一年学习很刻苦.
I have worked in this foreign company for ten years.我在这家外国公司工作10年了.
你好,首先你的那句谚语Rome
wasn't
built
in
a
day.为什么这里的in不是for呢?我理解是,这里的意思是指罗马不是一天内建成的,in是指一天内吧。这是我的理解。然后是in,for
的区别,我认为是这样:in在……内
for表示时间长度
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!