day28 物件列舉

2021-08-29 04:14:05 字數 1885 閱讀 1498

var obj =

for(

var prop in obj)

如果用obj.prop的形式訪問,相當於訪問obj[「prop」],系統把這個prop當成屬性而不是變數。

所有繼承了 object.prototype 的物件都會從原型鏈上繼承到 hasownproperty 方法,使用 hasownproperty() 方法可以檢測乙個屬性是存在於物件例項中,還是存在於其原型中。和 in 運算子不同,該方法會忽略掉那些從原型鏈上繼承到的屬性。

括號裡的屬性要用字串形式,返回的是布林值

var obj =

} object.prototype.terminal =

'lee'

;for

(var prop in obj)

}

上述程式可以列印出name、***等物件自身帶的屬性,當不使用hasownproperty() 方法時,會連同lastname、terminal等手動修改的原型鏈上的屬性一起列印出來。需要注意的一點是,系統自帶的未經修改的原型object.prototype任何時候都不會被列印。

hasownproperty:

function()

此時可以直接呼叫終端的hasownproperty方法判斷,object.hasownproperty.call(xx,prop)

判斷物件裡一切能呼叫的屬性,包括原型。返回的是布林值。

1)對於一般的物件屬性需要用字串指定屬性的名稱

'***'

in obj // true

'lastname'

in obj // ture

'terminal'

in obj // true

2)對於陣列屬性需要指定數字形式的索引值來表示陣列的屬性名稱(固有屬性除外,如length)

var trees =

newarray

("redwood"

,"bay"

,"cedar"

,"oak"

,"maple");

0in trees //true

"redwood"

in trees //false

"length"

in trees // true

1)通過遍歷與hasownproperty(prop) 方法,計算出長度

object.prototype.

len=

function

(obj)

}return count;

};

function

len(obj)

}return count;

}

2)通過object.keys()獲取物件可列舉屬性所組成的陣列,並通過length獲取物件長度

function

len(obj)

object.keys()方法會返回乙個你傳進去的物件自身可列舉的屬性組成的陣列。

傳入物件,返回屬性名。

傳入字串,返回索引。

傳入陣列 返回索引。

傳入建構函式 返回空陣列或者屬性名。

前端學習Day28

一 補充 1.js中的三大特殊資料 undefined,null,nan nan 非法的數值運算得到的結果 特殊之處 1.是乙個數值型的資料,但是不是乙個數字 2.nan不等於任何值,和任何資料都不相等,nan不等於nan 檢測方法 isnan 要檢測的資料 true 檢測結果為 nan 或能轉成 ...

day28 什麼是變數

第28節 什麼是變數 變數是什麼?在程式的程序中需要儲存一些資料。大家之前學彙編的時候知道了,儲存資料可以存到cpu中也就是存在暫存器裡也可以存在記憶體中。但是在c語言中儲存資料的時候我們要把這個資料儲存到 呢?在c語言裡所為的變數就是乙個容器,也就是一塊記憶體。1 宣告變數 變數型別 變數名 變數...

程序課堂小結day28

粘包問題 無法確認傳送資料的大小。短時間內傳送多次資料量小並且間隔時間短的資料會一次性打包傳送。struct 可以將乙個很長的資料,壓縮成固定的長度,比如4.解決粘包問題 通過struct模組弄乙個報頭。可以把字典壓縮成乙個報頭,傳送給服務端。服務端接收到報頭後解壓縮,獲取真實字典資料長度。接收字典...