亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JS學(xué)習(xí)之Object

qujian / 3443人閱讀

摘要:文中的多為構(gòu)造函數(shù)原型對(duì)象屬性為函數(shù)的專屬屬性,表示函數(shù)的原型對(duì)象。關(guān)于各種數(shù)據(jù)類型的屬性的展示對(duì)象的構(gòu)造器函數(shù)該屬性指向創(chuàng)建該對(duì)象原型的構(gòu)造函數(shù)。對(duì)對(duì)象的凍結(jié)狀態(tài)的設(shè)置和判斷,前者讓凍結(jié)對(duì)象,后者判斷對(duì)象是否被凍結(jié)。

前言

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

原型對(duì)象

Object.prototype
prototype屬性為函數(shù)的專屬屬性,表示函數(shù)的原型對(duì)象。該屬性表示Object對(duì)象的原型對(duì)象,此處的Objcet為構(gòu)造函數(shù)Object而不是對(duì)象實(shí)例。下圖可以證明。

Object.prototype.__proto__
該屬性為訪問器屬性,即為有g(shù)et和set函數(shù)的屬性,可以直接賦值。若有對(duì)象實(shí)例obj則可直接訪問該屬性obj.__proto__。

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

Object.setPrototypeOf(obj, prototype)
該方法是將prototype對(duì)象設(shè)為obj對(duì)象的原型對(duì)象。該方法是ES6的標(biāo)準(zhǔn)。

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

關(guān)于各種數(shù)據(jù)類型的prototype屬性的展示

對(duì)象的構(gòu)造器函數(shù)

Object.prototype.constructor
該屬性指向創(chuàng)建該對(duì)象原型的構(gòu)造函數(shù)。其返回為一個(gè)具體的函數(shù)而不是引用或?qū)ο蟆?/p>

對(duì)象的屬性

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

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

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

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

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

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

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

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

對(duì)象擴(kuò)展及新建

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

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

對(duì)象狀態(tài)

Object.preventExtensions(obj)、"Object.isExtensible(obj)"
對(duì)對(duì)象的可擴(kuò)展?fàn)顟B(tài)設(shè)置和判斷,對(duì)象默認(rèn)可擴(kuò)展。前者是讓obj對(duì)象變得不可擴(kuò)展。后者是判斷obj對(duì)象是否能夠擴(kuò)展。

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

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

其他

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

Object.prototype.toLocalString()、Object.prototype.toString()
返回一個(gè)表示該對(duì)象的字符串。toLocaleString()方法主要用于被本地化相關(guān)對(duì)象覆蓋。覆蓋了該方法的對(duì)象有Array、NumberDate。toString()方法可以用來(lái)檢測(cè)對(duì)象類型。其用法為Object.prototype.toString.call(obj),其返回值的格式為[object ObjectName]。

Object.prototype.valueOf()
該方法返回對(duì)象的原始值。這個(gè)方法用的不多,大多數(shù)情況下JS會(huì)自動(dòng)調(diào)用此函數(shù),另外一些就是其他對(duì)象重寫了此函數(shù)的情況。

結(jié)語(yǔ)

本人初學(xué)JS,內(nèi)容基本上從MDN上搬過(guò)來(lái)的自己的理解不是很多,再加上初中作文湊不齊600字的語(yǔ)文水平(-_-|)……
本文內(nèi)容如有錯(cuò)漏,望請(qǐng)指正,不勝感激!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/81197.html

相關(guān)文章

  • Zepto.js源碼學(xué)習(xí)之

    摘要:本次主要分享關(guān)于上一篇區(qū)域的學(xué)習(xí)。區(qū)域?yàn)榈暮诵牟糠郑慕Y(jié)構(gòu)如下為了便于梳理思路,以上代碼省略了細(xì)節(jié),只保留了輪廓脈絡(luò)。最終暴露給開發(fā)者的如下圖所示這里只分析了區(qū)域的結(jié)構(gòu),下一次會(huì)深入到函數(shù)語(yǔ)句粒度。 本次主要分享關(guān)于上一篇區(qū)域2的學(xué)習(xí)。區(qū)域2為Zepto的核心部分,它的結(jié)構(gòu)如下 var Zepto = (function() { var $, zepto = {}; fu...

    kel 評(píng)論0 收藏0
  • Javascript學(xué)習(xí)之繼承

    摘要:繼承是面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)重要的概念,繼承可以使得子類具有父類的屬性和方法或者重新定義追加屬性和方法等。但是在中沒有類的概念,是基于原型的語(yǔ)言,所以這就意味著對(duì)象可以直接從其他對(duì)象繼承。 繼承是面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)重要的概念,繼承可以使得子類具有父類的屬性和方法或者重新定義、追加屬性和方法等。但是在Javascript中沒有類的概念,是基于原型的語(yǔ)言,所以這就意味著對(duì)象可以直接...

    CHENGKANG 評(píng)論0 收藏0
  • JavaScrip學(xué)習(xí)之Object(上)

    摘要:對(duì)象篇簡(jiǎn)介本身就是一個(gè)函數(shù),可用于工具函數(shù),也可以是用于構(gòu)造對(duì)象的函數(shù)其次可以添加屬性和方法方法又可以分為靜態(tài)方法定義在自身上的和實(shí)例方法定義在原型上的工具函數(shù)作為工具函數(shù)參數(shù)可以是任意數(shù)據(jù)類型,將其轉(zhuǎn)為對(duì)象如果參數(shù)是空,,則將其轉(zhuǎn)換為空對(duì) 對(duì)象篇 Object簡(jiǎn)介 Object本身就是一個(gè)函數(shù),可用于工具函數(shù),也可以是用于構(gòu)造對(duì)象的函數(shù);其次Object可以添加屬性和方法;方法又可以...

    li21 評(píng)論0 收藏0
  • JavaScript學(xué)習(xí)之Object(下)new命令

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

    Salamander 評(píng)論0 收藏0
  • javaScript學(xué)習(xí)之隱式轉(zhuǎn)換

    摘要:搬家篇三開胃菜因?yàn)榇笥诘扔诘谋容^,不是相等的比較,所以值得注意的操作符一元操作符通過(guò)進(jìn)行轉(zhuǎn)換其中包括號(hào)運(yùn)算符,號(hào)運(yùn)算符,都是經(jīng)轉(zhuǎn)換邏輯運(yùn)算符等價(jià)于將操作數(shù)進(jìn)行布爾值類型轉(zhuǎn)換位操作當(dāng)一邊操作數(shù)為時(shí),可等價(jià)于操作數(shù)為由以下變化可以證得加號(hào)運(yùn)算 搬家篇三 開胃菜 [] == ![] //true ==> == false 123 ^ [] ...

    peixn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

qujian

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<