靜態方法reflect.ownkeys()
返回乙個由目標物件自身的屬性鍵組成的陣列。
object.entries()
方法返回乙個給定物件自身可列舉屬性的鍵值對陣列,其排列與使用for...in
迴圈遍歷該物件時返回的順序一致(區別在於for-in
迴圈還會列舉原型鏈中的屬性)。
object.fromentries()
方法把鍵值對列表轉換為乙個物件。
object.is()
方法判斷兩個值是否是相同的值。
如果下列任何一項成立,則兩個值相同:
這種相等性判斷邏輯和傳統的==
運算不同:
==
運算子會對它兩邊的運算元做隱式型別轉換(如果它們型別不同),然後才進行相等性比較,(所以才會有類似"" == false
等於true
的現象),但object.is
不會做這種型別轉換。
這與全等===
運算子的判定方式也不一樣。
===
運算子(和==
運算子)將數字值-0
和+0
視為相等,並認為number.nan
不等於nan
。
object.is(
'foo'
,'foo');
// true
object.
is(window, window)
;// true
object.is(
'foo'
,'bar');
// false
object.is(
,[])
;// false
var foo =
;var bar =
;object.
is(foo, foo)
;// true
object.
is(foo, bar)
;// false
object.is(
null
,null);
// true
// 特例
object.is(
0,-0
);// false
object.is(
0,+0
);// true
object.is(
-0,-
0);// true
object.is(
nan,0/
0);// true
整理遍歷物件屬性一些方法
1 for in for in迴圈遍歷物件自身和繼承的可列舉屬性 不含symbol屬性 let obj for let attr in obj 2 object.keys obj object.keys返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 的鍵名。let...
JS中的一些遍歷方法
以下遍歷方法中for迴圈效能最好,而且優化版for迴圈效能最高。只有foreach不能跳出迴圈。在迴圈陣列時,如果在迴圈過程中對陣列進行了增刪改,那麼在後面的每次迴圈中,進行操作的都是已經修改過後的陣列。let arr a b c d for let i 0 i arr.length i conso...
JS物件繼承的一些方法
由於引用型別 陣列 物件 是按位址傳遞,直接拷貝是淺拷貝,即修改拷貝後的變數,原變數也會改變。有時需要深拷貝乙個物件,這時就需要遍歷徹底複製,使原物件和拷貝物件完全脫離關係。建立例項物件 var o var a object.create o a.color blue a.arr.push 2 co...