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

資訊專欄INFORMATION COLUMN

【揮舞JS】JS實(shí)現(xiàn)繼承,封裝一個(gè)extends方法

wujl596 / 1098人閱讀

摘要:父類正在吃飯正在唱歌劉雨子類封裝一個(gè)方法子類父類子類可以繼承父類的屬性和方法,也可以擴(kuò)展自己的屬性和方法。

父類

function Person(name, age) {
    this.name = name;
    this.age = age;
}

Person.prototype = {
    eat: function () {
        console.log(this.name + "正在吃飯...");
    },
    sang: function () {
        console.log(this.name + "正在唱歌...");
    }
};
var liuyu = new Person("劉雨", 26);

子類

function Student(name, age, score) {
    Person.call(this, name, age);
    this.score = score;
}

封裝一個(gè) extends 方法

//子類  extends  父類
Function.prototype.extends = function (func, options) {
    for (var key in func.prototype) {
        this.prototype[key] = func.prototype[key];
    }
    for (var name in options) {
        this.prototype[name] = options[name];
    }
};

子類可以繼承父類的屬性和方法,也可以擴(kuò)展自己的屬性和方法。extends 方法參數(shù):1.父類 2.需要擴(kuò)展的屬性和對(duì)象的一個(gè)對(duì)象集合。

Student.extends(Person, {
    study: function () {
        console.log(this.name + "正在學(xué)習(xí)...");
    }
});

var can = new Student("can", 22, "良好");
can.eat();
can.work();

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

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

相關(guān)文章

  • 揮舞JS】前端MVC,JS模板替換實(shí)現(xiàn)原理

    摘要:我們常用的框架,比如等,都有屬于它們自己的表達(dá)式,比如,它們的數(shù)據(jù)綁定實(shí)現(xiàn)原理其實(shí)是利用了正則表達(dá)式。模式模型數(shù)據(jù)視圖層控制器。注意這里的標(biāo)簽的屬性要設(shè)置為,這樣瀏覽器在渲染頁面時(shí)不會(huì)把標(biāo)簽里面的內(nèi)容渲染到頁面上。 我們常用的框架,比如Vue、Angular等,都有屬于它們自己的表達(dá)式,比如{{}},它們的數(shù)據(jù)綁定實(shí)現(xiàn)原理其實(shí)是利用了正則表達(dá)式。 MVC模式 M model 模型 數(shù)...

    nodejh 評(píng)論0 收藏0
  • 揮舞JS】vue雙向數(shù)據(jù)綁定v-model實(shí)現(xiàn)原理

    摘要:設(shè)計(jì)模式數(shù)據(jù)觀測(cè)原理在技術(shù)實(shí)現(xiàn)上,利用的是和存儲(chǔ)器屬性和所以只兼容及以上版本,可稱為基于依賴收集的觀測(cè)機(jī)制。核心是,即,保證數(shù)據(jù)和視圖的一致性。采用數(shù)據(jù)劫持結(jié)合發(fā)布者訂閱者模式的方式,在數(shù)據(jù)變動(dòng)時(shí)發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽回調(diào)。 MVVM設(shè)計(jì)模式 Model View ViewModel Vue.js 數(shù)據(jù)觀測(cè)原理在技術(shù)實(shí)現(xiàn)上,利用的是ES5 Object.defineProp...

    XanaHopper 評(píng)論0 收藏0
  • javascript之模擬類繼承

    摘要:歡迎關(guān)注我的博客正文讓我來構(gòu)造函數(shù)其實(shí),模擬一個(gè)類的方式非常的簡(jiǎn)單構(gòu)造函數(shù)。我們先來看一個(gè)例子這里通過構(gòu)造函數(shù)模擬出來的類,其實(shí)和其他語言的類行為上是基本一致的,唯一的區(qū)別就是它不具備私有方法。 前言 ES6時(shí)代的來臨,使得類繼承變得如此的圓滑。但是,你有思考過ES6的類繼承模式嗎?如何去實(shí)現(xiàn)它呢? 類繼承對(duì)于JavaScript來說,實(shí)現(xiàn)方式與Java等類語言大不相同。熟悉JavaS...

    Jochen 評(píng)論0 收藏0
  • js面向?qū)ο筇卣?/b>

    摘要:我們都知道面向?qū)ο髶碛腥筇卣?,分別為封裝繼承多態(tài),其實(shí)在腳本語言中是不存在多態(tài)的,但是可以用的方式實(shí)現(xiàn)多態(tài)中的兩種效果重載重寫,那下面我們就來說一下面向?qū)ο蟮奶卣鞣庋b把抽象出的屬性和對(duì)屬性的方法封裝在一起對(duì)外實(shí)現(xiàn)接口開放,說白了就是封裝一 我們都知道js面向?qū)ο髶碛腥筇卣?,分別為封裝、繼承、多態(tài),其實(shí)在javaScript腳本語言中是不存在多態(tài)的,但是可以用js的方式實(shí)現(xiàn)多態(tài)中的兩...

    Jenny_Tong 評(píng)論0 收藏0
  • ES6—class與面向?qū)ο缶幊蹋?)

    摘要:接下來我們看下類的寫法,這個(gè)就很接近于傳統(tǒng)面向?qū)ο笳Z言了。如果你想了解傳統(tǒng)面向?qū)ο笳Z言,這里是一個(gè)好切入點(diǎn)。作為對(duì)象時(shí),指向父類的原型對(duì)象。這些就是為將來在中支持面向?qū)ο蟮念悪C(jī)制而預(yù)留的。 在ES5中,我們經(jīng)常使用方法或者對(duì)象去模擬類的使用,并基于原型實(shí)現(xiàn)繼承,雖然可以實(shí)現(xiàn)功能,但是代碼并不優(yōu)雅,很多人還是傾向于用 class 來組織代碼,很多類庫、框架創(chuàng)造了自己的 API 來實(shí)現(xiàn) c...

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

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

0條評(píng)論

wujl596

|高級(jí)講師

TA的文章

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