Object是個什麼鬼

2022-03-23 10:22:58 字數 993 閱讀 3736

老人常說,在js中,一切皆物件,那物件又是什麼涅,最常用的我們都知道,物件有方法和屬性。由一些鍵值對構成的集合,然後隨便用個大括號括起來就形成了乙個物件。看起來蠻簡單的,但是真是這麼簡單麼,當我們新建乙個物件,為什麼會『天生』帶有hasownpropertytostring這些方法呢?

這其實與js的繼承機制有關,js中物件是通過原型繼承的,例項物件都默默帶著乙個__proto__屬性,這個屬性預設指向例項物件的原型物件,當訪問例項物件沒有的屬性或者方法時,js引擎會順著__proto__查詢原型物件是否有該屬性或者方法。簡單說,就是每個兒子背後都有個強大的粑粑,當兒子想買東東而自己沒能力的時候,就會找粑粑『啃老』,這就是為啥所有的物件都會有tostring這些方法,真相只有乙個,他們有個『富』粑粑或者耶耶。

沒錯,就是object.prototype了,為啥不是object涅,敲黑板,object是建構函式啊童靴們,不信可以在控制台打一下看看。那麼問題又來了,object.prototype有什麼用,都有哪些方法呢。

hasownproperty() 檢查是否存在乙個給定名字的自有屬性

valueof() 返回乙個物件的值表達

tostring() 返回乙個物件的字串表達

當前的js一般的屬性都是有4中屬性。分別是:數值屬性value,可讀屬性writable,可列舉屬性enumerable,和可配置屬性configurable。但是由於物件中存在一類特別的屬性訪問器屬性,所以對於訪問器屬性的值實際上是有點不同的,他有自己的特別的屬性特性包括,讀取(get),寫入(set),可列舉和可配置。為了實現這一物件屬性的描述,js中定義了乙個屬性描述符物件。並且可以通過object.getownpropertydescriptor()方法來獲取某個物件中的特定屬性的描述符。當然當前函式只能獲取物件自有屬性的描述,如果要獲取繼承屬性的描述符的話,需要使用object.getprototypeof();

自助報表是個什麼鬼?

原文出處 一 什麼是自助報表?報表是 bi 專案中呈現資料最直觀的方式,目前使用報表常用的方式是由技術人員根據使用者需求提前定義設計好報表模板,使用者使用時在頁面端基於已有的模板對資料進行查詢 列印 匯出等操作。這種方式能夠很好地滿足相對固定的報表需求,而隨著業務的深入以及業務人員能力的提公升,越來...

C4800是個什麼鬼?

int main i的值為非零時,條件為真,i的值為0時,條件為假。完全可以不用占用這個多出的1個位元組和int到bool的轉換,直接使用i做邏輯運算即可。微軟的工程師在這裡抱怨bool b2的宣告是 脫褲子放屁,多此一舉 實際上就是在洩私憤 為什麼要增加bool這種破東西 那麼如何規避這個警告呢?...

IPU到底是個什麼鬼?

在 i.mx6 應用處理器中,有乙個很重要的單元 ipu image processing unit 影象處理單元。影象處理單元的目標是提供從影象輸入 攝像頭感測器 電視訊號輸入等 到顯示裝置 lcd顯示屏 tv輸出 外部影象處理單元等 端到端的資料流訊號處理的全面支援。ipu庫 ipu libra...