for in遍歷的順序

2021-09-02 02:58:23 字數 587 閱讀 5261

雖然ecmascript規定了物件的遍歷順序是由物件定義時屬性的書寫順序決定的.(譯者注:es5已經對遍歷機制做了調整,重新規定:屬性遍歷的順序是沒有被規定的), 大部分瀏覽器都依照這個規定,先新增的屬性先被遍歷(除了從原型上繼承的屬性)(譯者注:chrome和opera已經遵循了es5的新規定,具體

請看). 但是, 在 internet explorer 中, 使用delete刪除乙個屬性後, 奇怪的事情發生了,如果被刪除的屬性重新被新增,那麼遍歷時, 該屬性的順序會是上次刪除前的那個位置所應該有的順序,而不是出現在遍歷的最後乙個.

chrome opera 中使用 for-in 語句遍歷物件屬性時會遵循乙個規律,它們會先提取所有 key 的 parsefloat 值為非負整數的屬性, 然後根據數字順序對屬性排序首先遍歷出來,然後按照物件定義的順序遍歷餘下的所有屬性。其它瀏覽器則完全按照物件定義的順序遍歷屬性。

可用不同瀏覽器嘗試以下**:

var a = ;

for(var i in a)

alert(i + ": " + a[i])

參考:

快速遍歷 for in

快速遍歷 for.in.nsarray ages 12,23,22,16,34 注意快速遍歷過程中,不允許需改元素個數 盡量保證快速遍歷的集合中的元素型別一致 for nsnumber nin ages nsdictionary dic 快速遍歷對於字典來說每次得到的都是鍵 for nsstring...

for in遍歷和for 迴圈

在做收藏功能的時候,使用的是把資料儲存到nsuserdefaults 中。過程是,現將要儲存的資訊用自定義的乙個model 儲存,再用nsmutablearray 把model 新增到陣列中,把陣列儲存到 nsuserdefaults中,使用的方法是 nsuserdefaults user nsus...

Python中的迭代遍歷 for in

遍歷就是從頭到尾依次從列表中獲取資料,在迴圈體內部針對每乙個元素,執行相同的操作。在python中為了提高列表的遍歷效率,專門提供的迭代 iteration 遍歷。使用for.in就能夠在 python 中實現迭代遍歷。在 python 中,for 迴圈可以遍歷任何序列的專案,如列表 元組 字典以及...