日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php for循环in的用法,JavaScript中for in循环是如何使用的?需要注意些什么?

發布時間:2024/10/14 php 127 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php for循环in的用法,JavaScript中for in循环是如何使用的?需要注意些什么? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家都知道在JavaScript中提供了兩種方式迭代對象:

(1)for 循環;

(2)for..in循環;

使用for循環進行迭代數組對象,想必大家都已經司空見慣了。但是,使用for.. in循環時,大家可要注意了,為什么這么說呢?大家聽我娓娓道來....

javascript提供了一種特殊的循環(也就是for .. in循環),用來迭代對象的屬性或數組的每個元素,for...in循環中的循環計數器是字符串,而不是數字。它包含當前屬性的名稱或當前數組元素的索引。

案例一://使用for..in循環遍歷對象屬性

varperson={

name: "Admin",

age: 21,

address:"shandong"

};

for(vari in person){

console.log(i);

}

執行結果為:

name

age

address

當遍歷一個對象的時候,變量 i 也就是循環計數器 為 對象的屬性名//使用for..in循環遍歷數組

vararray = ["admin","manager","db"]

for(vari in array){

console.log(i);

}

執行結果:

0

1

2

當遍歷一個數組的時候,變量 i 也就是循環計數器 為 當前數組元素的索引

案例二:

但是,現在看來for .. in循環還挺好用啊,不過,別高興太早,看看下面的例子:var array =["admin","manager","db"];

//給Array的原型添加一個name屬性

Array.prototype.name= "zhangsan";

for(var i in array){

alert(array[i]);

}

運行結果:

admin

manager

db

zhangsan

咦,奇觀了,怎么平白無故的冒出來一個zhangsan

現在,再看看使用 for循環會怎樣?vararray = ["admin","manager","db"];

//給Array的原型添加一個name屬性

Array.prototype.name = "zhangsan";

for(var i =0 ; i

alert(array[i]);

};

運行結果:

admin

manager

db

哦, 現在明白了,for..in循環會把某個類型的原型(prototype)中方法與屬性給遍歷出來,所以這可能會導致代碼中出現意外的錯誤。為了避免這個問題,我們可以使用對象的hasOwnProperty()方法來避免這個問題,如果對象的屬性或方法是非繼承的,那么hasOwnProperty() 方法返回true。即這里的檢查不涉及從其他對象繼承的屬性和方法,只會檢查在特定對象自身中直接創建的屬性。

案例三:vararray = ["admin","manager","db"];

Array.prototype.name= "zhangshan";

for(vari in array){

//如果不是該對象自身直接創建的屬性(也就是該屬//性是原型中的屬性),則跳過顯示

if(!array.hasOwnProperty(i)){

continue;

}

alert(array[i]);

}

運行結果:

admin

manager

db

一切又完好如初。

總結

以上是生活随笔為你收集整理的php for循环in的用法,JavaScript中for in循环是如何使用的?需要注意些什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。