侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130555 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

JavaScript中的for in 循环

2024-05-09 星期四 / 0 评论 / 0 点赞 / 5 阅读 / 1721 字

for...in...用来遍历数组或者对象的属性 当遍历数组时,计时器 i 为数组的索引值 var arr = ["admin","manager","db"] ;for(var i in arr){

for...in...用来遍历数组或者对象的属性

当遍历数组时,计时器 i 为数组的索引值

var arr = ["admin","manager","db"] ;for(var i in arr){ console.log(i); // 0 1 2} 

当遍历对象时,计时器 i 为对象的属性

var person={ name: "Admin", age: 21, address:"shenzhen" }; for(var i in person){ console.log(i); //name age address}

但是在遍历对象时需要注意,如果遍历的对象有继承或者说遍历的对象是构造函数的实例等情况,就会连着原型对象中的属性和方法一同遍历出来

var Status = function(arg){    this.arg = arg;}Status.prototype.getState = function(){    return this.arg;}var obj = new Status('test string');obj.getState();//test stringobj.spk = 'spk';for(i in instance){    console.log(i);//arg spk getState}

但是原型对象中的属性并不是我们想要的,按照下面的代码处理即可

for(i in object){  if(object.hasOwenProperty(i)){      //...  }}

还有一点需要注意的是,for...in循环中的循环计数器是字符串,而不是数字。它包含当前属性的名称或当前数组元素的索引。 

在遍历过程中,也需要清楚,for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作(重要)

 

广告 广告

评论区