js中for in的用法樣本解析

來源:互聯網
上載者:User

for(var i=0;i<len;i++)這樣的用法一般都可以用for in 來替代。
例如:
複製代碼 代碼如下:
var a = ["a","b","c"];
for(var el in a){
alert(a[el]);
}

這個就是窮舉出a中的所有元素,當然上面這個例子是可以用
複製代碼 代碼如下:
for(var i=0,len=a.length;i<len;i++){
alert(a[i]);
}

這種方式進行迴圈列出的,不過有時候這種方式就不一定奏效了。
例如:
複製代碼 代碼如下:
var a = {"first":1,"second":2,"third":3};

這個時候就只能用for in來窮舉了。

一個對象是否可以進行for in窮舉,我們可以通過propertyIsEnumerable屬性來判斷,說明如下:
propertyIsEnumerable 屬性
返回 Boolean 值,指出所指定的屬性是否為一個對象的一部分以及該屬性是否是可列舉的。
複製代碼 代碼如下:
object.propertyIsEnumerable(proName)

參數
object
必選項。一個對象。

proName
必選項。一個屬性名稱的字串值。

說明
如果 proName 存在於 object 中且可以使用一個 For…In 迴圈窮舉出來,那麼 propertyIsEnumerable 屬性返回 true。如果 object 不具有所指定的屬性或者所指定的屬性不是可列舉的,那麼 propertyIsEnumerable 屬性返回 false。典型地,預定義的屬性不是可列舉的,而使用者定義的屬性總是可列舉的。
propertyIsEnumerable 屬性不考慮原型鏈中的對象。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.