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

資訊專欄INFORMATION COLUMN

原型鏈學(xué)習(xí)面試

Tony / 1768人閱讀

摘要:這是實(shí)現(xiàn)繼承的最通用的方式,這種方法的缺點(diǎn)實(shí)例化子類的時(shí)候父級的構(gòu)造函數(shù)執(zhí)行了次,沒有必要執(zhí)行次。

原型鏈類 創(chuàng)建對象有幾種方法

1、字面量對象
var o1 = {name:"1"}
var o11 = new Object({name:"11"})
2、顯示構(gòu)造函數(shù)創(chuàng)建
var M = function(){this.name ="o2"}
var o2 = new M();
3.Object.create 方法來創(chuàng)建
var P = {"name":"o3"}
var o3 = Objcet.create(P)

原型、構(gòu)造函數(shù)、實(shí)例、原型鏈 的概念
什么叫實(shí)例:

instanceof的原理 new運(yùn)算符原理
面向?qū)ο罄^承有哪幾種
1、借助構(gòu)造函數(shù)實(shí)現(xiàn)繼承

function Parent1(){
this.name ="Parent1"}
function Child1(){
Parent1.call(this)
this.name = "child1"
}
缺點(diǎn)父類原型鏈有方法屬性,子類拿不到
console.log(new Child1)

2、原型鏈實(shí)現(xiàn)繼承

function Parent2() {
    this.name = "Parents2"
    this.type = [1,23]
}
function Child2() {
    this.name = "Child2"
}
// Child2.prototype= new Parent2()
       
    console.log(new Child2)
    var c2 = new Child2
    var c3 = new Child2
    c3.type.push(3)
    
    缺點(diǎn):修改實(shí)例繼承父類的屬性,都會改變

3、組合繼承

 function Parent3() {
        this.name = "Parents3";
        this.play = [1, 23, 3];
    }
    function Child3() {
        Parent3.call(this)
        this.type = "child3"
    }
    Child3.prototype = new Parent3()
  var  c3 = new Child3()
   var c4 = new Child3()
    console.log(c3.play);
    console.log(c4.play);
    c3.play.splice(1, 1)
    console.log(c3.play);
    console.log(c4.play);
    
    組合繼承的優(yōu)點(diǎn)就是修改實(shí)例的屬性,不會改變父類的屬性。
    這是實(shí)現(xiàn)繼承的最通用的方式,這種方法的缺點(diǎn)實(shí)例化子類的時(shí)候父級的構(gòu)造函數(shù)執(zhí)行了2次,沒有必要執(zhí)行2次。所以出了優(yōu)化方法

4、優(yōu)化方式

function Parent4() {
        this.name = "Parents4";
        this.play = [1, 23, 3];
    }
    function Child4() {
        Parent3.call(this)
        this.type = "child4"
    }
    Child4.prototype = Parent4.prototype
   var c5 = new Child4()
 var   c6 = new Child4()
    console.log(c4.play);
    console.log(c5.play);
    c3.play.splice(1, 1)
    console.log(c4.play);
    console.log(c5.play);
首先通過call方法把子類實(shí)例拿到父類的屬性和方法,然后通過父類的原型賦值給子類,拿到父類原型上的屬性和方法,這樣就實(shí)現(xiàn)了繼承了

這種方式還有缺點(diǎn)嗎
c5 instanceof Child4 c5 instanceof Parent4 //true
如何區(qū)分一個(gè)對象由子類實(shí)例化,還是父類實(shí)例化的
這時(shí)候c5.constructor 指向了Parent4構(gòu)造函數(shù)
為什么指向了parent4構(gòu)造函數(shù)而不是指向Child4構(gòu)造函數(shù)呢,因?yàn)樯线呌幸痪涫?br> Child4.prototype = Parent4.prototype
這時(shí)候子類的原型指向了父類的原型,所以子類的實(shí)例當(dāng)然是指向了父類構(gòu)造函數(shù)了。

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

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

相關(guān)文章

  • 原型一:原型原型

    摘要:說白了,原型就是構(gòu)造函數(shù)用來構(gòu)造新實(shí)例的模板對象。什么是原型鏈先回答什么是原型。例如這個(gè)原型的原型就是這個(gè)構(gòu)造函數(shù)的,既這個(gè)原型對象。這些原型對象通過像鏈子一樣連起來,就叫做原型鏈。 原型鏈初步學(xué)習(xí) 這篇博客只是我初步理解原型鏈的一個(gè)個(gè)人學(xué)習(xí)筆記,寫的比較粗略,且有的地方可能理解錯(cuò)誤. 更多更專業(yè)的關(guān)于原型鏈的解釋請看JavaScript深入之從原型到原型鏈和阮一峰的博客:Javas...

    MudOnTire 評論0 收藏0
  • 面試系列】之二:關(guān)于js原型

    摘要:之二關(guān)于原型開篇我記得初學(xué)時(shí),最難懂的概念就是的原型,而且這個(gè)概念在筆試面試中常常提到,因此今天我們把這個(gè)概念拿出來,好好聊一聊。 之二:關(guān)于js原型 1. 開篇 我記得初學(xué)js時(shí),最難懂的概念就是js的原型,而且這個(gè)概念在筆試面試中常常提到,因此今天我們把這個(gè)概念拿出來,好好聊一聊。 在仔細(xì)講解之前,我們先來看一道題,這道題來自JavaScript高級程序設(shè)計(jì)中原型鏈那一節(jié): fun...

    _ang 評論0 收藏0
  • "instanceof 的原理是什么"?大聲告訴面試官,我知道!

    摘要:一是如何工作的在上是這樣描述的運(yùn)算符用于測試構(gòu)造函數(shù)的屬性是否出現(xiàn)在對象原型鏈中的任何位置換句話說,如果,那么必須是一個(gè)對象,而必須是一個(gè)合法的函數(shù)。下面我們舉一個(gè)例子一步步來說明第一步每一個(gè)構(gòu)造函數(shù)都有一個(gè)屬性。 在 JavaScript 中,我們通常用 typeof 判斷類型,但是在判斷引用類型的值時(shí),常常會遇到一個(gè)問題:無論引用的是什么類型的對象,都會返回 object(當(dāng)然還有...

    CompileYouth 評論0 收藏0
  • 記錄一次杭州順網(wǎng)科技的面試過程

    摘要:以上是面試中筆試涉及到的知識點(diǎn)或者后面被問到的只是點(diǎn)。也許是根據(jù)薪資和面試的等級來出題的。我剛面試完回家,吃了一個(gè)泡面,回憶下面試題。同時(shí)作為傳遞到構(gòu)造函數(shù),執(zhí)行了一次讓構(gòu)造函數(shù)里面的屬性和方法賦值了一份給。 css 如何水平垂直居中,請盡量多說幾種方法?很尷尬,我多次面試都被問到這個(gè)問題,fuck 定位(回答了)、table-cell布局、flex布局、translate+relat...

    shiguibiao 評論0 收藏0
  • 記錄一次杭州順網(wǎng)科技的面試過程

    摘要:以上是面試中筆試涉及到的知識點(diǎn)或者后面被問到的只是點(diǎn)。也許是根據(jù)薪資和面試的等級來出題的。我剛面試完回家,吃了一個(gè)泡面,回憶下面試題。同時(shí)作為傳遞到構(gòu)造函數(shù),執(zhí)行了一次讓構(gòu)造函數(shù)里面的屬性和方法賦值了一份給。 css 如何水平垂直居中,請盡量多說幾種方法?很尷尬,我多次面試都被問到這個(gè)問題,fuck 定位(回答了)、table-cell布局、flex布局、translate+relat...

    caiyongji 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<