最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中關(guān)于Object.create()的用法

 更新時間:2023年02月10日 14:30:44   作者:奮斗中的小余  
這篇文章主要介紹了JavaScript中關(guān)于Object.create()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JavaScript的Object.create()方法

ES5定義了一個名為Object.create()的方法,它創(chuàng)建一個對象,其中第一個參數(shù)就是這個對象的原型,Object.create()提供第二個可選參數(shù),用以對對象的屬性進(jìn)行進(jìn)一步描述。

// Object.create()是一個靜態(tài)方法
// 以下展示不同參數(shù)的用法

// 一個參數(shù)
var o = Object.create(null) // 相當(dāng)于空對象,任何屬性都沒有
var o = Object.create(Object.prototype) // 相當(dāng)于var o = {}
var o = Object.create({x: 1, y: 2}) // 相當(dāng)于var o = {}; o.prototype = {x: 1, y: 2}

// 第二個參數(shù)是一個對象,用于給創(chuàng)建的對象添加屬性和屬性描述的
// 屬性又分為數(shù)據(jù)屬性和存取器屬性
// 數(shù)據(jù)屬性的描述符對象的屬性有value(值)、writable(可寫性)、enumerable(可枚舉性)、configurable(可配置性)
// 存取器屬性的描述符對象的屬性有g(shù)et(讀取)、set(寫入)、enumerable(可枚舉性)、configurable(可配置性)

// 兩個參數(shù)
var o = Object.create({x: 1, y: 2}, {
   a: {
   		value: 100,
   		......
   }
}) // 向創(chuàng)建的對象o添加一個數(shù)據(jù)屬性a,值為100,其它描述屬性默認(rèn)為false

var o = Object.create({x: 1, y: 2}, {
   a: {
   		get() {
   			return this.x + this.y
   		},
   		......
   	}
}) // 向創(chuàng)建的對象o添加一個存取器屬性a,o.a時執(zhí)行其get方法,set屬性默認(rèn)為undefined,其余描述屬性默認(rèn)為false

JavaScript手寫Object.create函數(shù)

給大家分享一下手寫 Object.create 函數(shù)。

函數(shù)功能

Object.create()方法創(chuàng)建一個新對象,使用現(xiàn)有的對象來提供新創(chuàng)建的對象的__proto__

代碼:

function create(parentPrototype, props) {
? function Fn() {
?
? }
? Fn.prototype = parentPrototype;
? let fn = new Fn();
? for (let key in props) {
? ? Object.defineProperty(fn, key, {
? ? ? enumerable: true, // 如果不枚舉對象中無法查看到這個對象
? ? ? ...props[key]
? ? })
? }
? return fn
}
?
?
function Parent() {
? this.name = "parent";
}
?
Parent.prototype.eat = function () {
? console.log("eat");
};
?
function Child() {
? this.age = 9;
? Parent.call(this);
}
?
Child.prototype = create(Parent.prototype, { constructor: { value: Child } });
?
// { constructor: { value: Child } } ?這段代碼保證 Child 的 prototype 的 constructor 還指向 Child 的構(gòu)造函數(shù)
?
let child = new Child();
console.log(child.constructor,'constructor'); // [Function: Child] 'constructor'
child.eat() // eat

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • moment.js使用超詳細(xì)教程

    moment.js使用超詳細(xì)教程

    Moment.js是一個輕量級的JavaScript時間庫,它方便了日常開發(fā)中對時間的操作,提高了開發(fā)效率下,本文給大家介紹moment.js使用超詳細(xì)教程,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 前端使用pdf.js實(shí)現(xiàn)pdf轉(zhuǎn)為圖片

    前端使用pdf.js實(shí)現(xiàn)pdf轉(zhuǎn)為圖片

    這篇文章主要為大家詳細(xì)介紹了前端如何使用pdf.js實(shí)現(xiàn)pdf轉(zhuǎn)為圖片功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 關(guān)于javascript作用域的常見面試題分享

    關(guān)于javascript作用域的常見面試題分享

    關(guān)于JS作用域問題,是面試的時候面試官樂此不疲的面試題,有時候確實(shí)是令人抓狂,下面這篇文章主要給大家分享了關(guān)于javascript作用域的一些常見面試題,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • uniapp實(shí)現(xiàn)tabs切換(可滑動)效果實(shí)例

    uniapp實(shí)現(xiàn)tabs切換(可滑動)效果實(shí)例

    這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)tabs切換(可滑動)效果的相關(guān)資料,tabs切換無論是在app端還是小程序或者H5頁面都是很常見的功能,文中通過實(shí)例代碼介紹的很詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 同步文本框內(nèi)容JS代碼實(shí)現(xiàn)

    同步文本框內(nèi)容JS代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)同步文本框內(nèi)容的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 淺談Webpack核心模塊tapable解析

    淺談Webpack核心模塊tapable解析

    這篇文章主要介紹了淺談Webpack核心模塊tapable解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • JS實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼

    JS實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 處理JavaScript值為undefined的7個小技巧

    處理JavaScript值為undefined的7個小技巧

    這篇文章主要介紹了處理JavaScript值為undefined的7個小技巧,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • VsCode插件自動生成注釋插件koroFileHeader使用教程

    VsCode插件自動生成注釋插件koroFileHeader使用教程

    這篇文章主要介紹了VsCode插件自動生成注釋插件koroFileHeader使用教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • JS將時間秒轉(zhuǎn)換成天小時分鐘秒的字符串

    JS將時間秒轉(zhuǎn)換成天小時分鐘秒的字符串

    最近小編接到這樣的項目需求,接口返回的數(shù)據(jù)中時間單位為秒,但前端顯示的時候需要更人性化的帶有單位(天,小時,分鐘,秒)的字符串;下面小編給大家?guī)韺?shí)例代碼,感興趣的朋友跟隨小編一起看看吧
    2019-07-07

最新評論

游戏| 天峻县| 彭阳县| 东台市| 济源市| 鹤庆县| 平度市| 宣化县| 南靖县| 福贡县| 商南县| 新干县| 彝良县| 玛多县| 安图县| 桐乡市| 肇东市| 无锡市| 通州市| 麻栗坡县| 汕头市| 平顶山市| 绥芬河市| 靖边县| 广饶县| 金沙县| 县级市| 新乡县| 邢台市| 靖江市| 山西省| 绥宁县| 昌吉市| 无为县| 西昌市| 垣曲县| 肥乡县| 资源县| 舞钢市| 义乌市| 屏山县|