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

資訊專欄INFORMATION COLUMN

javascript原型和原型鏈,構(gòu)造函數(shù)和實例

DobbyKim / 806人閱讀

摘要:原型構(gòu)造函數(shù)就是工廠,原型的實例就是工廠按照圖紙生成的工具比如汽車,原型鏈隱式的就是生成的工具所具有的功能,而功能是工具的屬性,生成什么樣的工具是由工廠構(gòu)造函數(shù)決定的,圖紙是有工廠和客戶共同決定的原型構(gòu)造函數(shù)工廠下面是原型的實例,注意,不一

原型(構(gòu)造函數(shù))就是工廠,原型的實例就是工廠按照圖紙生成的工具(比如汽車),
原型鏈(隱式的)就是生成的工具所具有的功能,而功能是工具的屬性,
生成什么樣的工具是由工廠(構(gòu)造函數(shù))決定的,圖紙是有工廠和客戶共同決定的

var carFactory =function(options){  //原型,構(gòu)造函數(shù) (工廠)

this.name = options.name;  //

this.color = options.color;

this.run  = function(){}; //

this.stop = function(){};

//......

}

//下面是原型的實例,注意,不一定要new,carFactory({name:"法拉利",color:"orange"})本身就是一個實例,
//可以調(diào)用對應的屬性和方法如run()和stop()等,
//這里的new是一個繼承,相當于另外復制了一份,是為了重復利用該工廠,而不是只生產(chǎn)一輛車,專門為該車提供服務,
//關(guān)于繼承,可以參考:js繼承

var car = new carFactory({name:"法拉利",color:"orange"});//實例

car //{...}

//在chrome下,輸出一個對象,其中 __proto__即是原型鏈,是指該對象隱式的含有的一些功能,
//該功能由原型構(gòu)造函數(shù)決定,而所有的原型的祖宗原型是Object,所以所有的對象都有Object的一些默認的屬性和方法,如:toString等

以下代碼加深理解

2..constructor=== Number // 2的構(gòu)造者是Number
Number.constructor ===Function//Number 的構(gòu)造者是Function
Function.constructor===Function //Function的構(gòu)造者是 Function
Math.constructor=== Object// Math的構(gòu)造者是Object
({}).constructor===Object// {}的構(gòu)造者是Object
Object.constructor===Function //Object 的構(gòu)造者是 Function
2..__proto__=== Number.prototype // 2的構(gòu)造者是Number
Number.__proto__===Function.prototype //Number 的構(gòu)造者是Function
Function.__proto__===Function.prototype //Function的構(gòu)造者是 Function
Math.__proto__=== Object.prototype // Math的構(gòu)造者是Object
({}).__proto__===Object.prototype // {}的構(gòu)造者是Object
Object.__proto__===Function.prototype //Object 的構(gòu)造者是 Function

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

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

相關(guān)文章

  • javascript高級程序設計》筆記:原型圖解

    摘要:不理解沒關(guān)系,下面會結(jié)合圖例分析上一篇高級程序設計筆記創(chuàng)建對象下一篇高級程序設計筆記繼承參考之原型鏈的解讀三張圖搞懂的原型對象與原型鏈繼承與原型鏈 文章直接從原型圖解開始的,如果對一些概念不太清除,可以結(jié)合后面幾節(jié)查看 1. 圖解原型鏈 1.1 鐵三角關(guān)系(重點) function Person() {}; var p = new Person(); showImg(https://s...

    vspiders 評論0 收藏0
  • 淺談 JavaScript 原型

    摘要:數(shù)組的構(gòu)造函數(shù)是原型鏈的指向與其他除以外的構(gòu)造函數(shù)相同,的也指向頂級原型對象,每一個數(shù)組都是的實例,都指向。實例對象查找構(gòu)造函數(shù)原型對象的方法一般會把對象共有的屬性和方法都放在構(gòu)造函數(shù)的原型對象上。 showImg(https://segmentfault.com/img/remote/1460000018998704?w=900&h=506); 閱讀原文 概述 在 JavaScr...

    explorer_ddf 評論0 收藏0
  • JavaScript學習總結(jié)(五)原型原型詳解

    摘要:原型對象內(nèi)部也有一個指針屬性指向構(gòu)造函數(shù)實例可以訪問原型對象上定義的屬性和方法。在創(chuàng)建子類型的實例時,不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)。 贊助我以寫出更好的文章,give me a cup of coffee? 2017最新最全前端面試題 私有變量和函數(shù) 在函數(shù)內(nèi)部定義的變量和函數(shù),如果不對外提供接口,外部是無法訪問到的,也就是該函數(shù)的私有的變量和函數(shù)。 function ...

    EscapedDog 評論0 收藏0
  • JavaScript進階 - 1. 原型原型的概念

    摘要:對應的關(guān)系圖如下講解了構(gòu)造函數(shù)和原型對象之間的關(guān)系,那么實例對象和原型對象之間的關(guān)系又是怎么樣的呢下面講解。原型對象的指向的是構(gòu)造函數(shù)和本身沒有屬性,但是其原型對象有該屬性,因此也能獲取到構(gòu)造函數(shù)。 JavaScript進階 - 1. 原型和原型鏈的概念 我們好多經(jīng)常會被問道JavaScript原型和原型鏈的概念,還有關(guān)于繼承,new操作符相關(guān)的概念。本文就專門整理了原型和原型鏈的概念...

    elisa.yang 評論0 收藏0
  • JavaScript系列--淺析原型與繼承

    摘要:綜上所述有原型鏈繼承,構(gòu)造函數(shù)繼承經(jīng)典繼承,組合繼承,寄生繼承,寄生組合繼承五種方法,寄生組合式繼承,集寄生式繼承和組合繼承的優(yōu)點于一身是實現(xiàn)基于類型繼承的最有效方法。 一、前言 繼承是面向?qū)ο螅∣OP)語言中的一個最為人津津樂道的概念。許多面對對象(OOP)語言都支持兩種繼承方式::接口繼承 和 實現(xiàn)繼承 。 接口繼承只繼承方法簽名,而實現(xiàn)繼承則繼承實際的方法。由于js中方法沒有簽名...

    draveness 評論0 收藏0
  • 進擊JavaScript之(四)原型原型

    摘要:每一個由構(gòu)造函數(shù)創(chuàng)建的對象都會默認的連接到該神秘對象上。在構(gòu)造方法中也具有類似的功能,因此也稱其為類實例與對象實例一般是指某一個構(gòu)造函數(shù)創(chuàng)建出來的對象,我們稱為構(gòu)造函數(shù)的實例實例就是對象。表示該原型是與什么構(gòu)造函數(shù)聯(lián)系起來的。 本文您將看到以下內(nèi)容: 傳統(tǒng)構(gòu)造函數(shù)的問題 一些相關(guān)概念 認識原型 構(gòu)造、原型、實例三角結(jié)構(gòu)圖 對象的原型鏈 函數(shù)的構(gòu)造函數(shù)Function 一句話說明什么...

    XBaron 評論0 收藏0

發(fā)表評論

0條評論

DobbyKim

|高級講師

TA的文章

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