JavaScript in 操作符

JavaScript的in操作符可以用來判斷一個屬性是否屬於一個對象,也可以用來變量一個對象的屬性

1. 判斷屬性屬於對象

複製代碼

var mycar = {make: "Honda", model: "Accord", year: 1998};
//注意,屬性名必須是字符串形式,因爲make不是一個變量
if ( "make" in mycar ){
    document.write('true');
}
else{
    document.write('false');  // 顯示true
} 

複製代碼

2. for in遍歷對象屬性

var mycar = {make: "Honda", model: "Accord", year: 1998};
for(var p in mycar){
    console.log(p + ': ' + make[p]);
}

3. in可以用來進行判斷

複製代碼

if ( foo == 'bar' || foo == 'foobar' || foo == 'foo' )
{
//...
}
//就可以寫成:
if ( foo in { 'bar':'', 'foobar':'', 'foo':'' } )
{
//...
}

複製代碼

4. delete操作符可以刪除屬性,配合in使用

複製代碼

var mycar = {make: "Honda", model: "Accord", year: 1998};
delete mycar.make;
"make" in mycar;  // returns false

var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
delete trees[3];
3 in trees; // returns false

複製代碼

5. 儘量不要用for in遍歷數組

集合遍歷的效率爲:hash > for(;;) > for(in)

集合相關操作首選對象,次之用for循環遍歷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章