js 3種遍歷物件的方法

2021-10-09 13:08:57 字數 1405 閱讀 2332

一、遍歷物件方法

1.for...in

遍歷輸出的是物件自身的屬性以及原型鏈上可列舉的屬性(不含symbol屬性),原型鏈上的屬性最後輸出說明先遍歷的是自身的可列舉屬性,後遍歷原型鏈上的

eg:

var obj = ;

object.prototype.pro1 = function() {};//在原型鏈上新增屬性

object.defineproperty(obj, 'country', );

object.defineproperty(obj, 'nation', )

obj.country = 'china';

for (let key in obj)

輸出結果:

key = name value = yayaya

key = age value = 12

key = *** value = female

key = country value = china

key = pro1 value = function(){}

2.object.keys()

遍歷物件返回的是乙個包含物件自身可列舉屬性的陣列(不含symbol屬性).

eg:var obj = ;

object.prototype.pro1 = function() {}

object.defineproperty(obj, 'country', );

object.defineproperty(obj, 'nation', )

obj.country = 'china';

object.keys(obj).foreach(function(key) );

輸出結果:

name yayaya

age 12

*** female

country china

3.objcet.getownpropertynames()

輸出物件自身的可列舉和不可列舉屬性的陣列,不輸出原型鏈上的屬性

eg:var obj = ;

object.prototype.pro1 = function() {}

object.defineproperty(obj, 'country', );

object.defineproperty(obj, 'nation', )

obj.country = 'china';

object.getownpropertynames(obj).foreach(function(key) );

輸出結果:

name yayaya

age 12

*** female

country ccc

nation undefined

JS 3 個判斷陣列的方法

1.object.prototype.tostring.call const an hello an an.tostring hello,an object.prototype.tostring.call an object array 這種方法對於所有基本的資料型別都能進行判斷,即使是 null ...

js遍歷物件的方法

1.for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2.obejct.keys obj 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3.object.getownpropertynames obj 返回乙個陣列,包含物件自身 不含繼承的 ...

js 3 物件 7 執行上下文 this

執行環境定義了變數或函式有權訪問的其他資料,決定了它們各自的行為。每個執行環境都有乙個與之關聯的變數物件,環境中定義的所有變數和函式都儲存在這個物件中。全域性執行環境是最外圍的乙個執行環境。在web瀏覽器中,全域性執行環境被認為是window 物件,因此所有全域性變數和函式都是作為window 物件...