javascript中object keys方法使用的問題(實操和書上寫的不相符)?

時間 2021-06-01 21:51:12

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...