成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Object.create()介紹

Zachary / 990人閱讀

摘要:我們可以利用它們?nèi)?shí)現(xiàn)數(shù)據(jù)的過(guò)濾和數(shù)據(jù)的綁定。實(shí)現(xiàn)一些簡(jiǎn)單的的效果繼承的應(yīng)用的實(shí)例繼承了的屬性劃重點(diǎn)相對(duì)于構(gòu)造函數(shù)的繼承繼承實(shí)現(xiàn)了將的原型完美分隔。雙方不會(huì)互相影響。

Object.create(null) 創(chuàng)建的對(duì)象是一個(gè)空對(duì)象,在該對(duì)象上沒(méi)有繼承 Object.prototype 原型鏈上的屬性或者方法
例如:toString(), hasOwnProperty()等方法

參數(shù) 說(shuō)明
obj 創(chuàng)建對(duì)象的原型,表示要繼承的對(duì)象
propertiesObject(可選 ) 也是一個(gè)對(duì)象,用于對(duì)新創(chuàng)建的對(duì)象進(jìn)行初始化

我們來(lái)看看底層實(shí)現(xiàn)

    Object.create =  function (o) {
        var F = function () {};
        F.prototype = o;
        return new F();
    };

下面我們來(lái)看具體應(yīng)用:

    //創(chuàng)建一個(gè)Obj對(duì)象
    var Obj ={
        name:"mini",
        age:3,
        show:function () {
            console.log(this.name +" is " +this.age);
        }
    }

    //MyObj 繼承obj, prototype指向Obj
    var MyObj = Object.create(Obj,{
        like:{
            value:"fish",        // 初始化賦值
            writable:true,       // 是否是可改寫(xiě)的
            configurable:true,   // 是否能夠刪除,是否能夠被修改
            enumerable:true      //是否可以用for in 進(jìn)行枚舉
        },
        hate:{
            configurable:true,
            get:function () { console.log(111);  return "mouse" }, // get對(duì)象hate屬性時(shí)觸發(fā)的方法
            set:function (value) {                                 // set對(duì)象hate屬性時(shí)觸發(fā)的方法 
                console.log(value,2222);
                return value;
            }    
        }
    });
    
劃重點(diǎn):這里get和set 方法似乎還蘊(yùn)含更大的潛力 。我們可以利用它們?nèi)?shí)現(xiàn)數(shù)據(jù)的過(guò)濾和數(shù)據(jù)的綁定 。實(shí)現(xiàn)一些簡(jiǎn)單的mvvm的效果

Object.create繼承的應(yīng)用:

    var A = function () { };
    A.prototype.sayName=function () {
        console.log("a");
    }

    // B的實(shí)例繼承了A的屬性
    var B = function () { };
    B.prototype = Object.create(A.prototype);
    var b = new B();
    b.sayName();  // a
劃重點(diǎn):相對(duì)于構(gòu)造函數(shù)的繼承Object.create繼承實(shí)現(xiàn)了將A,B的原型完美分隔 。雙方不會(huì)互相影響。這是Object.create亮點(diǎn)所在

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

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

相關(guān)文章

  • JavaScript ES5之Object.create函數(shù)詳解

    介紹 在創(chuàng)建對(duì)象的時(shí)候,我們有2種常用方法 一個(gè)是文本標(biāo)記法(var obj = {}),一種是運(yùn)用Object函數(shù)進(jìn)行對(duì)象的創(chuàng)建(new Object()). 但是這兩種方式并不是創(chuàng)建的一個(gè)完完全全干干凈凈的對(duì)象,這里的干凈只得是沒(méi)有繼承鏈. 幸運(yùn)的是,ES5為我們提供了一種創(chuàng)建完全干凈的對(duì)象的方法,Object.create函數(shù),接下我將向大家介紹Obje...

    zhaofeihao 評(píng)論0 收藏0
  • JS核心知識(shí)點(diǎn)梳理——原型、繼承(下)

    摘要:引言上篇文章介紹原型,這篇文章接著講繼承,嘔心瀝血之作,大哥們點(diǎn)個(gè)贊呀明確一點(diǎn)并不是真正的面向?qū)ο笳Z(yǔ)言,沒(méi)有真正的類(lèi),所以我們也沒(méi)有類(lèi)繼承實(shí)現(xiàn)繼承有且僅有兩種方式,和原型鏈在介紹繼承前我們先介紹下其他概念函數(shù)的三種角色一個(gè)函數(shù),有三種角色。 showImg(https://segmentfault.com/img/bVbo4hv?w=1800&h=1000); 引言 上篇文章介紹原型,...

    joyqi 評(píng)論0 收藏0
  • 犀牛書(shū)——CHAP6:對(duì)象

    摘要:對(duì)象是屬性的無(wú)序集合。使用對(duì)象直接量創(chuàng)建的對(duì)象的原型就是,使用運(yùn)算符創(chuàng)建的對(duì)象的原型是構(gòu)造函數(shù)的的值。主要目的是將對(duì)象鎖定,避免外界干擾。判斷對(duì)象是否封閉。刪除屬性可刪除對(duì)象的自有屬性且為的屬性。 對(duì)象是屬性的無(wú)序集合。因此,這一章主要從對(duì)象和屬性兩個(gè)方面來(lái)闡述。showImg(https://box.worktile.com/view/c8f5f376fe314aeca69d9b4c...

    philadelphia 評(píng)論0 收藏0
  • 基于原型的JavaScript繼承 - 面向?qū)ο蟮腏avaScript - JavaScript核心

    摘要:基于原型的繼承誠(chéng)惶誠(chéng)恐的寫(xiě)下這篇文章。無(wú)論是還是,都是面向?qū)ο蟮?。將這個(gè)新對(duì)象作為構(gòu)造函數(shù)的執(zhí)行上下文其指向這個(gè)對(duì)象,并執(zhí)行構(gòu)造函數(shù)返回這個(gè)對(duì)象原型繼承我們來(lái)定義一個(gè)簡(jiǎn)單的類(lèi)和它的原型我們?cè)谠蜕隙x了一個(gè)方法。 源碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScr...

    Acceml 評(píng)論0 收藏0
  • 【JS基礎(chǔ)】Object 對(duì)象的原型概念詳解

    摘要:使用操作符,創(chuàng)建一個(gè)對(duì)象,并且執(zhí)行構(gòu)造函數(shù)方法。使用可以返回一個(gè)字典型對(duì)象對(duì)象原型每一個(gè)對(duì)象都有一個(gè)內(nèi)置的屬性指向構(gòu)造它的函數(shù)屬性而構(gòu)造函數(shù)的則指向構(gòu)造函數(shù)本生。 對(duì)象概念 在 javascript 中, 一切引用類(lèi)型均為對(duì)象。 如 function Foo () {} 中,F(xiàn)oo本身就是一個(gè)對(duì)象的引用。 創(chuàng)建對(duì)象方式 字面量方式 new 構(gòu)造函數(shù) 函數(shù)聲明 Object.creat...

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

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

0條評(píng)論

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