成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

javaScript面向?qū)ο缶幊?繼承(二)

scwang90 / 2450人閱讀

摘要:原型繼承原型繼承是對(duì)類式繼承的一種封裝,其中的過(guò)渡對(duì)象就相當(dāng)于類式繼承中的子類,只是在原型式中作為一個(gè)過(guò)渡對(duì)象出現(xiàn),目的是創(chuàng)建要返回的新的實(shí)例化對(duì)象。寄生式繼承聲明基對(duì)象通過(guò)原型繼承方式創(chuàng)建新對(duì)象返回拓展后的新對(duì)象測(cè)試代碼

原型繼承

原型繼承是對(duì)類式繼承的一種封裝,其中的過(guò)渡對(duì)象就相當(dāng)于類式繼承中的子類,只是在原型式中作為一個(gè)過(guò)渡對(duì)象出現(xiàn),目的是創(chuàng)建要返回的新的實(shí)例化對(duì)象。和類式繼承一樣,父類對(duì)象book中指類型的屬性被復(fù)制,引用類型的屬性被共有。

//原型是繼承
function inheritObject(o) {
//聲明一個(gè)過(guò)渡函數(shù)對(duì)象
function F(){}
//過(guò)渡對(duì)象的原型繼承父類
F.prototype = o;
//返回過(guò)渡對(duì)象的一個(gè)實(shí)例,該實(shí)例的原型繼承了父對(duì)象
return new F();
}

var book ={
name:"js",
alikeBook:["css","html"]
};
//測(cè)試代碼
var newBook = inheritObject(book);
newBook.name ="ajax";
newBook.alikeBook.push("new xml book");
var otherBook = inheritObject(book);
otherBook.name ="flash";
otherBook.alikeBook.push("other as book");
console.log(newBook.name);//ajax
console.log(newBook.alikeBook);//[ "css", "html", "new xml book", "other as book" ]
console.log(otherBook.name);//flash
console.log(otherBook.alikeBook);//[ "css", "html", "new xml book", "other as book" ]
console.log(book.name);//js
console.log(book.alikeBook);//[ "css", "html", "new xml book", "other as book" ]
寄生式繼承

寄生式繼承是對(duì)原型繼承的第二次封裝,并且在封裝的過(guò)程中對(duì)繼承對(duì)象進(jìn)行了擴(kuò)展,這樣新創(chuàng)建的對(duì)象不僅僅有父類中的屬性和方法,而且添加了新的屬性和方法。

//寄生式繼承var newBook = createBook(book);newBook.name = "js";newBook.alikeBook.push("new");var otherBook = createBook(book);otherBook.name = "bad";otherBook.alikeBook.push("other");
//聲明基對(duì)象
var book = {
name:"js book",
alikeBook: ["css","html"]
};
function createBook(obj) {
//通過(guò)原型繼承方式創(chuàng)建新對(duì)象
var o = new inheritObject(obj);
o.getName = function () {
console.log(name);
}
//返回拓展后的新對(duì)象
return o;
}
//測(cè)試代碼
var newBook = createBook(book);
newBook.name = "js";
newBook.alikeBook.push("new");
var otherBook = createBook(book);
otherBook.name = "bad";
otherBook.alikeBook.push("other");
console.log(newBook.name);//ajax
console.log(newBook.alikeBook);//[ "css", "html", "new xml book", "other as book" ]
console.log(otherBook.name);//flash
console.log(otherBook.alikeBook);//[ "css", "html", "new xml book", "other as book" ]
console.log(book.name);//js
console.log(book.alikeBook);//[ "css", "html", "new xml book", "other as book" ]

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/97895.html

相關(guān)文章

  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    Lyux 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    AaronYuan 評(píng)論0 收藏0
  • Javascript面向對(duì)象編程):構(gòu)造函數(shù)的繼承

    摘要:動(dòng)物還有一個(gè)貓對(duì)象的構(gòu)造函數(shù)。這顯然會(huì)導(dǎo)致繼承鏈的紊亂明明是用構(gòu)造函數(shù)生成的,因此我們必須手動(dòng)糾正,將對(duì)象的值改為。這是很重要的一點(diǎn),請(qǐng)務(wù)必注意如果替換了對(duì)象,下一步必然是為新的對(duì)象加上屬性,并將這個(gè)屬性指回原來(lái)的構(gòu)造函數(shù)。 原文鏈接 現(xiàn)在有一個(gè)動(dòng)物對(duì)象的構(gòu)造函數(shù)。 function Animal() { this.species = 動(dòng)物; } 還有一個(gè)貓對(duì)象的構(gòu)造函數(shù)。 fun...

    longmon 評(píng)論0 收藏0
  • 重新認(rèn)識(shí)JavaScript面向對(duì)象: 從ES5到ES6

    摘要:基于原型的面向?qū)ο笤诨谠偷恼Z(yǔ)言中如并不存在這種區(qū)別它只有對(duì)象不論是構(gòu)造函數(shù),實(shí)例,原型本身都是對(duì)象。允許動(dòng)態(tài)地向單個(gè)的對(duì)象或者整個(gè)對(duì)象集中添加或移除屬性。為了解決以上兩個(gè)問(wèn)題,提供了構(gòu)造函數(shù)創(chuàng)建對(duì)象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認(rèn)識(shí)面向?qū)ο?1. JavaScript...

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

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

0條評(píng)論

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