1樓:煎餅打擊
ES6一共有5種方法可以遍歷物件的屬性。
(1)for...in
for...in迴圈遍歷物件自身的和繼承的可列舉屬性(不含Symbol屬性)。
(2)Object.keys(obj)
Object.keys返回乙個陣列,包括物件自身的(不含繼承的)所有可列舉屬性(不含Symbol屬性)。
(3)Object.getOwnPropertyNames(obj)
Object.getOwnPropertyNames返回乙個陣列,包含物件自身的所有屬性(不含Symbol屬性,但是包括不可列舉屬性)。
(4)Object.getOwnPropertySymbols(obj)
Object.getOwnPropertySymbols返回乙個陣列,包含物件自身的所有Symbol屬性。
(5)Reflect.ownKeys(obj)
Reflect.ownKeys返回乙個陣列,包含物件自身的所有屬性,不管是屬性名是Symbol或字串,也不管是否可列舉。
2樓:
ES5 定義了 Obejct.getOwnPropertyNames 方法,用於返回物件所有自有屬性(包括可列舉屬性和不可列舉屬性)的鍵名組成的陣列:
function foo(d, e, f) {}
Object.getOwnPropertyNames(foo).forEach(function(key) )
// length
// name
// arguments
// caller
// prototype
ES6 還支援 Symbol 型別值做物件的鍵名,因此還引入了 Object.getOwnPropertySymbols 方法:
function foo(d, e, f) {}
var isFunction = Symbol('isFunction')
foo[isFunction] = true
Object.getOwnProperyNames(foo).forEach(function(prop) )
// length
// name
// arguments
// caller
// prototype
Object.getOwnPropertySymbols(foo).forEach(function(prop) )
// Symbol(isFunction)
3樓:趙嘉楠
你這需求就是扯淡,那個屬性的作用就是使用for in 遍歷的時候不會出現,完全的反語言,你這就好像殺人要被抓,你就想怎麼樣殺人才能不被抓
100 個數,如何遍歷得到所有全排列?
李沁 有個笨辦法不知行不行?演算法不好描述,反正就是挪來挪去的,跑下就知道了,有沒有大神解釋下這麼挪的原理是什麼?include include using namespace std using namespace arma int main int q r.n cols 1 int ends 0...
如何看待花木蘭 中所有演員採用英文對話
兔子 說英文對也許對全世界不懂中文的觀眾來說是件好事,但是作為中國人我還是會選擇看國語版,畢竟一群中中國人穿著古裝說的外語我還是接受不了。 剛才偷懶看了一下花木蘭。看了半個小時就關了,看不下去。處處違和。就這個問題來說,你全程英語沒問題,因為是美國拍的電影。但是你背景音時不時來兩句中文。這種感覺就是...
如何一年學完高中所有知識?
逍遙子 做夢就行,除非你是天才。不要想象著你掌握了多少技巧,沒用。題沒刷到位,只是理解了知識點沒多少用。因為你需要重複,在重複中才能進步。就像你懂得了駕駛汽車所有的注意事項,還有各種駕駛技巧,但是你不去開,不常開,也只是紙上談兵。 聽說今天很冷 恕我愚昧不知怎麼回答反正我復讀一年全靠語數外強行把15...