JavaScript中遍歷對象的property的3種方法介紹
在JavaScript中,可以用三種方法來遍歷對象的property:
1.for/in??梢允褂胒or/in語句遍歷對象自身的property(Own Property)及其從原型對象處繼承的property,只有enumerable的property才會被遍歷到。
2.Object.keys()??梢詫ο笞鳛閰?shù)傳入Object.keys(),Object.keys()語句將返回由所有property名稱字符串所組成的數(shù)組。Object.keys()語句僅返回對象自身的(Own Property)且enumerable的property。該語句僅在ECMAScript 5標準中有效。
3.Object.getOwnPropertyNames()??梢詫ο笞鳛閰?shù)傳入Object.getOwnPropertyNames(),與Object.keys()一樣,該語句將返回由所有property名稱字符串所組成的數(shù)組。與Object.keys()不同的是,Object.getOwnPropertyNames()語句將返回所有對象自身的property(Own Property),而不論其是否為enumerable。該語句僅在ECMAScript 5標準中有效。
綜合上述信息,總結(jié)成圖如下:

實驗:
var o = {x:1, y:2};
var a = Object.create(o);
a.z = 3;
for(p in a){
console.log(p);
}//z x y
console.log(Object.keys(a));//["z"]
console.log(Object.getOwnPropertyNames(a));//["z"]
相關(guān)文章
將json當數(shù)據(jù)庫一樣操作的javascript lib
使用javascript操作JSON的類庫TAFFY DB,具體介紹了:查詢數(shù)據(jù)、添加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)。2013-10-10
JavaScript cookie與session的使用及區(qū)別深入探究
這篇文章主要介紹了Java中Cookie和Session詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-10-10
用表格輸出1-1000之間的數(shù)字實現(xiàn)代碼(附特效)
本文將介紹下用表格輸出1-1000之間的數(shù)字同時附有特效,感興趣的朋友可以參考下哈,希望對你有所幫助2013-04-04
bootstrap 通過加減按鈕實現(xiàn)輸入框組功能
這篇文章主要介紹了bootstrap 輸入框組 通過加減按鈕來增加刪除內(nèi)嵌輸入框組,當我點擊 + 按鈕時,會添加一行輸入框組;當點擊 - 按鈕時,會刪除這一行輸入框組。具體實現(xiàn)代碼大家參考下本文2017-11-11
Typescript中的數(shù)據(jù)類型實例總結(jié)
ts中數(shù)據(jù)類型的定義是重點之一,所以必須明確ts有哪些數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Typescript中數(shù)據(jù)類型的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-03-03
functional繼承模式 摘自javascript:the good parts
javascript:the good parts 書中Inheritance部分講到了一種functional的繼承方式, 具體這個functional該如何翻譯,就不是很清楚了, 就直接意會一下吧2011-06-06

