摘要:創(chuàng)建對象的三種方法一字面量二構(gòu)造函數(shù)被運算符使用過的函數(shù)是構(gòu)造函數(shù)。原型對象原型對象區(qū)分自己被哪個構(gòu)造函數(shù)使用,則使用構(gòu)造器。是原型鏈的頂端。
原型
JavaScript 對象都從原型繼承屬性和方法。
創(chuàng)建對象的三種方法:一、字面量
var M=function(){this.name="o2"}
二、構(gòu)造函數(shù)
var o2=new M(); //被new運算符使用過的函數(shù)是構(gòu)造函數(shù)。
三、Object.create()
var P={name:"o3"};
var o3=Object.create(P);
實 例:只要是對象,就是一個實例。
構(gòu)造函數(shù):任何一個對象,被new使用了,它就是一個構(gòu)造函數(shù)。構(gòu)造函數(shù)有prototype屬性。
原型對象:原型對象區(qū)分自己被哪個構(gòu)造函數(shù)使用,則使用constructor構(gòu)造器。例如上面例子中M、P是原型。使用原型對象的好處是可以讓所有對象實例共享它所包含的屬性和方法。
每個對象都有prototype(原型)屬性。
原型鏈:從一個實例對象往上找,找構(gòu)造這個實例的相關(guān)聯(lián)的對象,然后這個關(guān)聯(lián)的對象再往上找,它又有創(chuàng)造它的上一級的原型對象,以此類推,最后找到Object.prototype原型對象終止。Object.prototype是原型鏈的頂端。
instanceof
new運算符
面向?qū)ο箢?/strong>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102004.html
摘要:不理解沒關(guān)系,下面會結(jié)合圖例分析上一篇高級程序設(shè)計筆記創(chuàng)建對象下一篇高級程序設(shè)計筆記繼承參考之原型鏈的解讀三張圖搞懂的原型對象與原型鏈繼承與原型鏈 文章直接從原型圖解開始的,如果對一些概念不太清除,可以結(jié)合后面幾節(jié)查看 1. 圖解原型鏈 1.1 鐵三角關(guān)系(重點) function Person() {}; var p = new Person(); showImg(https://s...
摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關(guān)系那么圖中所有的虛線將構(gòu)成一個繼承層級,而實線表示屬性引用。原型鏈?zhǔn)菍崿F(xiàn)繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學(xué)經(jīng)常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...
摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關(guān)系那么圖中所有的虛線將構(gòu)成一個繼承層級,而實線表示屬性引用。原型鏈?zhǔn)菍崿F(xiàn)繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學(xué)經(jīng)常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...
摘要:探索是如何判斷的表達式如果函數(shù)的顯式原型對象在對象的隱式原型鏈上,返回,否則返回是通過自己產(chǎn)生的實例案例案例重要注意的顯示原型和隱式原型是一樣的。面試題測試題測試題報錯對照下圖理解 原型與原型鏈深入理解(圖解) 原型(prototype) 函數(shù)的 prototype 屬性(圖) 每個函數(shù)都有一個prototype屬性,它默認指向一個Object空對象(即稱為:原型對象) 原型對象中有...
摘要:原型鏈和對象的原型是對象實例和它的構(gòu)造函數(shù)之間建立的鏈接,它的值是構(gòu)造函數(shù)的。對象的原型根據(jù)上文提到的構(gòu)造調(diào)用函數(shù)的時候會創(chuàng)建一個新對象,自動將的原型指向構(gòu)造函數(shù)的對象。 showImg(https://segmentfault.com/img/remote/1460000020185197); JS的原型、原型鏈一直是比較難理解的內(nèi)容,不少初學(xué)者甚至有一定經(jīng)驗的老鳥都不一定能完全說清...
摘要:因為這造成了繼承鏈的紊亂,因為的實例是由構(gòu)造函數(shù)創(chuàng)建的,現(xiàn)在其屬性卻指向了為了避免這一現(xiàn)象,就必須在替換對象之后,為新的對象加上屬性,使其指向原來的構(gòu)造函數(shù)。這個函數(shù)接收兩個參數(shù)子類型構(gòu)造函數(shù)和超類型構(gòu)造函數(shù)。 最近一直在研究js面向?qū)ο?,原型鏈繼承是一個難點,下面是我對繼承的理解以下文章借鑒自CSDN季詩筱的博客 原型鏈繼承的基本概念: ES中描述了原型鏈的概念,并將原型鏈作為實現(xiàn)...
閱讀 3163·2021-09-30 09:47
閱讀 2022·2021-09-22 16:04
閱讀 2290·2021-09-22 15:44
閱讀 2550·2021-08-25 09:38
閱讀 550·2019-08-26 13:23
閱讀 1238·2019-08-26 12:20
閱讀 2819·2019-08-26 11:59
閱讀 1087·2019-08-23 18:40