1樓:混混蛋
Object.keys(obj);返回obj的自身(不包含原型鏈上的)的所以可列舉屬性的名字陣列
for in迴圈則包含原型鏈.
for(name in obj)
Object.getOwnPropertyNames(obj);返回obj自身(不含原型鏈上的)的所有屬性名陣列,包括不可列舉的
想要獲得原型上的屬性資訊,使用Object.getPrototypeOf(obj);先得到原型再操作
還有"property" in obj檢測屬性是否存在,檢測所有。包括原型鏈上的,包括不可列舉的
2樓:cyan
翻譯一下一樓的答案吧,Object.keys返回例項可列舉屬性,順序和for-in一樣,不同的是for-in也會包含原型中的屬性和方法
3樓:Saviio
see MDN:
Object.keys()
TheObject.keys()method returns an array of a given object's own enumerable properties, in the same order as that provided by a for...in loop (the difference being that a for-in loop enumerates properties in the prototype chain as well).
javascript中Element nodeValue和innerHTML有什麼區別
DOM中的節點是分好幾種型別,常見的有 1.文件節點 document,唯一 2.元素節點 那些個標籤div,p之類 3.屬性節點 class,src這種 4.文字節點 插入在p,div內的文字 其它。其中element.nodeValue,是節點的值,其中屬性節點和文字節點是有值的,而元素節點沒有...
JavaScript中for和filter哪個效能更好?
bilibilili 首先你要先去看看 filter 是怎麼實現的。另外 for 迴圈裡面兩個優化點。看你這個判斷條件這麼簡單,沒必要在迴圈裡重新申請乙個變數了,另外不需要 break,直接 return 出去就完事兒了。另外說效能的話,除非你的陣列很長,子元素很大,一般情況來說,你感受不到效能區別...
javascript中console這個控制台物件到底有什麼用?大師幫我捋捋頭緒?
Code Hz 樓上的回答沒錯,主要目的就是列印日誌,我來補充一點,js作為執行在瀏覽器中的指令碼語言,除錯起來並不是特別方便 比如要記錄某些事件發生時,某個關鍵變數的值,雖然有開發者工具可以斷點 一般推薦用斷點 但是這樣會中斷執行,對於某些頻率較高的事件就無能為力了,於是這個時候可以用consol...