加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

JavaScript中for-in遍历方式示例阐述

发布时间:2023-10-06 15:03:51 所属栏目:教程 来源:
导读:除了传统的for循环,JavaScript为遍历操作定义了for-in方式,根据数据源的不同,在使用时存在差异。

(1)遍历对象:

代码如下:

var fish = {

head : 1,

tail : 1,

}

for(var prop in f
除了传统的for循环,JavaScript为遍历操作定义了for-in方式,根据数据源的不同,在使用时存在差异。
 
(1)遍历对象:
 
代码如下:
 
var fish = {
 
head : 1,
 
tail : 1,
 
}
 
for(var prop in fish) {
 
console.log(fish[prop]);
 
}
 
调试时观察:prop依次为'head','tail',即遍历对象属性时是以字符串类型存在的,循环计数器为对象的属性名。
 
(2)遍历数组
 
代码如下:
 
var arr = ['one', 'two', 'three'];
 
for(var prop in arr) {
 
console.log(prop);
 
}
 
调试时观察:prop依次为'0','1',即遍历数组时仍是以字符串类型存在,不同的是循环计数器为数组元素的下标。(这时可以试试用for循环输出,结果与for-in是一致的)
 
如果代码中加入:
 
代码如下:
 
if(Object.prototype.clone === 'undefined')
 
Object.prototype.clone = function() {};
 
则输出结果为:0,1,clone
 
如果这时用for循环输出,则仍为0,1;也就是说for-in循环会将当前操作的数据源所属类型具有的属性遍历出来(同样对对象fish用for-in时,也会输出clone),所以就要求在使用for-in遍历时拉着一根弦:如果仅对对象自有属性操作,需要将继承来的属性加以剔除,比如用hasOwnProperty()方法。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章