摘要:聲明一個(gè)類(lèi)對(duì)象這個(gè)方法內(nèi)定義的方法和屬性是實(shí)例化對(duì)象自己的,不共享外定義的方法和屬性是所有實(shí)例對(duì)象共享可以調(diào)用的關(guān)鍵字代表對(duì)象的實(shí)例對(duì)象控制臺(tái)輸出這里聲明一個(gè)類(lèi),來(lái)繼承類(lèi)的屬性和方法關(guān)鍵字,用來(lái)指定父類(lèi)的實(shí)例對(duì)象輸出
class聲明一個(gè)animal類(lèi)(對(duì)象):
class Animal{ constructor(){//這個(gè)constructor方法內(nèi)定義的方法和屬性是實(shí)例化對(duì)象自己的,不共享;construstor外定義的方法和屬性是所有實(shí)例對(duì)象(共享)可以調(diào)用的 this.type = "animal" //this關(guān)鍵字代表Animal對(duì)象的實(shí)例對(duì)象 } says(say){ console.log(this.type+" says " +say); } } let animal = new Animal(); animal.says("hello");//控制臺(tái)輸出‘a(chǎn)nimal says hello’
這里聲明一個(gè)Cat類(lèi),來(lái)繼承Animal類(lèi)的屬性和方法
class Cat extends Animal(){ constructor(){ super();//super關(guān)鍵字,用來(lái)指定父類(lèi)的實(shí)例對(duì)象 this.type = "cat"; } } let cat = new Cat(); cat.says("hello");//輸出‘cat says hello’
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/101948.html
摘要:生成的類(lèi)的原型會(huì)被自動(dòng)調(diào)整,而你還能調(diào)用方法來(lái)訪問(wèn)基類(lèi)的構(gòu)造器。唯一能避免調(diào)用的辦法,是從類(lèi)構(gòu)造器中返回一個(gè)對(duì)象。 起源 JS 從創(chuàng)建之初就不支持類(lèi),也沒(méi)有把類(lèi)繼承作為定義相似對(duì)象以及關(guān)聯(lián)對(duì)象的主要方式,這讓不少開(kāi)發(fā)者感到困惑。而從 ES1 誕生之前直到ES5 時(shí)期,很多庫(kù)都創(chuàng)建了一些工具,讓 JS 顯得貌似能支持類(lèi)。盡管一些 JS 開(kāi)發(fā)者強(qiáng)烈認(rèn)為這門(mén)語(yǔ)言不需要類(lèi),但為處理類(lèi)而創(chuàng)建的代...
摘要:新建一個(gè)類(lèi)該函數(shù)返回一個(gè)類(lèi)的實(shí)例給函數(shù)傳入通過(guò)立即調(diào)用類(lèi)構(gòu)造函數(shù)可以創(chuàng)建單例。派生類(lèi)是指繼承自其它類(lèi)的新類(lèi)。在構(gòu)造函數(shù)中訪問(wèn)之前要調(diào)用,負(fù)責(zé)初始化。在構(gòu)造函數(shù)中使用通常表示當(dāng)前的構(gòu)造函數(shù)名。 ES5中的近類(lèi)結(jié)構(gòu) ES5以及之前的版本,沒(méi)有類(lèi)的概念,但是聰明的JavaScript開(kāi)發(fā)者,為了實(shí)現(xiàn)面向?qū)ο?,?chuàng)建了特殊的近類(lèi)結(jié)構(gòu)。 ES5中創(chuàng)建類(lèi)的方法:新建一個(gè)構(gòu)造函數(shù),定義一個(gè)方法并且賦值...
摘要:新建一個(gè)類(lèi)該函數(shù)返回一個(gè)類(lèi)的實(shí)例給函數(shù)傳入通過(guò)立即調(diào)用類(lèi)構(gòu)造函數(shù)可以創(chuàng)建單例。派生類(lèi)是指繼承自其它類(lèi)的新類(lèi)。在構(gòu)造函數(shù)中訪問(wèn)之前要調(diào)用,負(fù)責(zé)初始化。在構(gòu)造函數(shù)中使用通常表示當(dāng)前的構(gòu)造函數(shù)名。 ES5中的近類(lèi)結(jié)構(gòu) ES5以及之前的版本,沒(méi)有類(lèi)的概念,但是聰明的JavaScript開(kāi)發(fā)者,為了實(shí)現(xiàn)面向?qū)ο?,?chuàng)建了特殊的近類(lèi)結(jié)構(gòu)。 ES5中創(chuàng)建類(lèi)的方法:新建一個(gè)構(gòu)造函數(shù),定義一個(gè)方法并且賦值...
摘要:創(chuàng)建自定義類(lèi)型看下面一段代碼上面代碼使用創(chuàng)建了一個(gè)自定義類(lèi)型,是這個(gè)類(lèi)的構(gòu)造器,是類(lèi)的公共方法。注意事項(xiàng)在使用類(lèi)繼承的實(shí)現(xiàn)中,需要注意的點(diǎn)是如果子類(lèi)沒(méi)有重寫(xiě)方法,默認(rèn)會(huì)調(diào)用父類(lèi)的構(gòu)造器方法。 es6 類(lèi)-class 與大多正規(guī)的面向?qū)ο缶幊陶Z(yǔ)言不同(比如java),js在創(chuàng)建之初就不支持類(lèi)。js的面向?qū)ο缶幊虒?shí)現(xiàn)方式是通過(guò)構(gòu)造函數(shù)和原型來(lái)實(shí)現(xiàn)的。 我之前以為es6引入類(lèi)的概念將會(huì)帶給這...
摘要:眾所周知,是一門(mén)面向?qū)ο蟮恼Z(yǔ)言,如果說(shuō)針對(duì)面向?qū)ο髞?lái)發(fā)問(wèn)的話,我會(huì)想到兩個(gè)問(wèn)題,在中,類(lèi)與實(shí)例對(duì)象是如何創(chuàng)建的,類(lèi)與實(shí)例對(duì)象又是如何實(shí)現(xiàn)繼承的。但是在中是指向的,因?yàn)槊恳粋€(gè)構(gòu)造函數(shù)其實(shí)都是這個(gè)對(duì)象構(gòu)造的,中子類(lèi)的指向父類(lèi)可以實(shí)現(xiàn)屬性的繼承。 眾所周知,Javascript是一門(mén)面向?qū)ο蟮恼Z(yǔ)言,如果說(shuō)針對(duì)面向?qū)ο髞?lái)發(fā)問(wèn)的話,我會(huì)想到兩個(gè)問(wèn)題,在js中,類(lèi)與實(shí)例對(duì)象是如何創(chuàng)建的,類(lèi)與實(shí)例對(duì)...
閱讀 3335·2021-10-11 10:59
閱讀 2913·2021-10-11 10:58
閱讀 2308·2021-09-04 16:45
閱讀 2796·2019-08-30 15:44
閱讀 732·2019-08-30 15:44
閱讀 3255·2019-08-30 10:51
閱讀 1659·2019-08-29 18:46
閱讀 2814·2019-08-29 13:57