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循環遍歷。