国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS學習之Object

qujian / 3394人閱讀

摘要:文中的多為構造函數原型對象屬性為函數的專屬屬性,表示函數的原型對象。關于各種數據類型的屬性的展示對象的構造器函數該屬性指向創建該對象原型的構造函數。對對象的凍結狀態的設置和判斷,前者讓凍結對象,后者判斷對象是否被凍結。

前言

上篇文章介紹了JS的對象,本文將介紹Object這個基類,主要介紹其屬性和方法(其實這些在MDN里都有^_^,點擊這里可以直通MDN)。好了廢話不多說了,直接開始。文中的Object多為構造函數Object

原型對象

Object.prototype
prototype屬性為函數的專屬屬性,表示函數的原型對象。該屬性表示Object對象的原型對象,此處的Objcet為構造函數Object而不是對象實例。下圖可以證明。

Object.prototype.__proto__
該屬性為訪問器屬性,即為有get和set函數的屬性,可以直接賦值。若有對象實例obj則可直接訪問該屬性obj.__proto__

Object.getPrototypeOf(obj)
該方法獲得對象實例obj的原型對象。獲得的對象與對象的__proto__屬性的值相同。

Object.setPrototypeOf(obj, prototype)
該方法是將prototype對象設為obj對象的原型對象。該方法是ES6的標準。

prototypeObject.isPrototypeOf(obj)
該方法判斷prototypeObject對象是否在obj對象的原型鏈上。

關于各種數據類型的prototype屬性的展示

對象的構造器函數

Object.prototype.constructor
該屬性指向創建該對象原型的構造函數。其返回為一個具體的函數而不是引用或對象。

對象的屬性

Object.defineProperty(obj,prop,desc)Object.defineProperties(obj, {prop1:desc1, prop2:desc2})
上面兩個方法都是給對象obj添加或修改自身屬性,前者只能操作一個屬性,或者可以操作多個屬性。其參數中prop為屬性名,desc為屬性描述符。兩個方法都返回改變后的對象obj。

Object.getOwnPropertyNames(obj)
該方法獲得對象obj的所有自身屬性的屬性名組成的數組(包括不可枚舉屬性)。數組中元素的排列順序未知(以我自己有限的幾個例子看,應該是按定義的先后順序排列)。

Object.getOwnPropertyDescriptor(obj, prop)Object.getOwnPropertyDescriptors(obj)
兩個方法都是獲取對象obj的自身屬性的屬性描述符,前者只是取得某個屬性的描述符,后者獲取整個對象的所有自身屬性的描述符。

Object.entries(obj)
該方法返回對象自身屬性中所有可枚舉的屬性的鍵值對(屬性名:值)組成的數組。

Object.keys(obj)
該方法與上面的方法相似,也是遍歷對象中的可枚舉屬性,只是此方法返回的是對象中可枚舉的自身屬性的屬性名組成的數組。

Object.getOwnPropertySymblos(obj)
該方法會返回一個數組,該數組包含了指定對象自身的(非繼承的)所有 symbol 屬性鍵。(此方法為ES6規范)

Object.prototype.propertyIsEnumerable(prop)(obj.propertyIsEnumerable(prop))
判斷屬性prop是否是對象obj的可枚舉的自身屬性。

Object.prototype.hadsOwnProperty(prop)(obj.hadsOwnProperty(prop))
判斷obj對象是否含有prop自身屬性。

對象擴展及新建

Object.assign(target, ...sources)
該方法可以把任意多個的源對象自身的可枚舉屬性拷貝給目標對象,然后返回目標對象。

Object.create(prototype, [ propertiesObject ])
該方法創建一個擁有指定原型和若干個指定屬性的對象。

對象狀態

Object.preventExtensions(obj)、"Object.isExtensible(obj)"
對對象的可擴展狀態設置和判斷,對象默認可擴展。前者是讓obj對象變得不可擴展。后者是判斷obj對象是否能夠擴展。

Object.seal(obj)`Object.isSealed(obj)`
對對象的密封狀態的設置和判斷。前者讓obj對象密封,后者判斷obj對象是否被密封。密封對象是指那些不能添加新的屬性,不能刪除已有屬性,以及不能修改已有屬性的可枚舉性、可配置性、可寫性,但可能可以修改已有屬性的值的對象。

Object.freeze(obj)Object.isFrozen(obj)
對對象的凍結狀態的設置和判斷,前者讓凍結obj對象,后者判斷對象obj是否被凍結。凍結指的是不能向這個對象添加新的屬性,不能修改其已有屬性的值,不能刪除已有屬性,以及不能修改該對象已有屬性的可枚舉性、可配置性、可寫性。也就是說,這個對象永遠是不可變的。該方法返回被凍結的對象。

其他

Object.is(value1, value2)
該方法為同值判斷,即判斷value1value2是否為同一個值,與===號不同的是,該方法會將兩個NaN判斷為同一個值,而+0-0為不同的值。

Object.prototype.toLocalString()Object.prototype.toString()
返回一個表示該對象的字符串。toLocaleString()方法主要用于被本地化相關對象覆蓋。覆蓋了該方法的對象有ArrayNumberDatetoString()方法可以用來檢測對象類型。其用法為Object.prototype.toString.call(obj),其返回值的格式為[object ObjectName]

Object.prototype.valueOf()
該方法返回對象的原始值。這個方法用的不多,大多數情況下JS會自動調用此函數,另外一些就是其他對象重寫了此函數的情況。

結語

本人初學JS,內容基本上從MDN上搬過來的自己的理解不是很多,再加上初中作文湊不齊600字的語文水平(-_-|)……
本文內容如有錯漏,望請指正,不勝感激!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/81197.html

相關文章

  • Zepto.js源碼習之

    摘要:本次主要分享關于上一篇區域的學習。區域為的核心部分,它的結構如下為了便于梳理思路,以上代碼省略了細節,只保留了輪廓脈絡。最終暴露給開發者的如下圖所示這里只分析了區域的結構,下一次會深入到函數語句粒度。 本次主要分享關于上一篇區域2的學習。區域2為Zepto的核心部分,它的結構如下 var Zepto = (function() { var $, zepto = {}; fu...

    kel 評論0 收藏0
  • Javascript習之繼承

    摘要:繼承是面向對象編程語言中的一個重要的概念,繼承可以使得子類具有父類的屬性和方法或者重新定義追加屬性和方法等。但是在中沒有類的概念,是基于原型的語言,所以這就意味著對象可以直接從其他對象繼承。 繼承是面向對象編程語言中的一個重要的概念,繼承可以使得子類具有父類的屬性和方法或者重新定義、追加屬性和方法等。但是在Javascript中沒有類的概念,是基于原型的語言,所以這就意味著對象可以直接...

    CHENGKANG 評論0 收藏0
  • JavaScrip習之Object(上)

    摘要:對象篇簡介本身就是一個函數,可用于工具函數,也可以是用于構造對象的函數其次可以添加屬性和方法方法又可以分為靜態方法定義在自身上的和實例方法定義在原型上的工具函數作為工具函數參數可以是任意數據類型,將其轉為對象如果參數是空,,則將其轉換為空對 對象篇 Object簡介 Object本身就是一個函數,可用于工具函數,也可以是用于構造對象的函數;其次Object可以添加屬性和方法;方法又可以...

    li21 評論0 收藏0
  • JavaScript習之Object(下)new命令

    摘要:命令作用作用是執行構造函數,返回實例對象上面例子是自定義一個構造函數,其最大的特點就是首字母大寫,用執行構造函數其中,在的執行下,代表了實例化后的對象,這個也就有屬性注意點如果不用執行構造函數,那么指向的是全局有兩種方式可以避免內部定義嚴格 new命令 new作用 作用是執行構造函數,返回實例對象 function F() { this.name = object } var ...

    Salamander 評論0 收藏0
  • javaScript習之隱式轉換

    摘要:搬家篇三開胃菜因為大于等于的比較,不是相等的比較,所以值得注意的操作符一元操作符通過進行轉換其中包括號運算符,號運算符,都是經轉換邏輯運算符等價于將操作數進行布爾值類型轉換位操作當一邊操作數為時,可等價于操作數為由以下變化可以證得加號運算 搬家篇三 開胃菜 [] == ![] //true ==> == false 123 ^ [] ...

    peixn 評論0 收藏0

發表評論

0條評論

qujian

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<