日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript ES6 Class類實現原理詳解

瀏覽:147日期:2023-10-29 17:03:31

JavaScript ES6之前的還沒有Class類的概念,生成實例對象的傳統方法是通過構造函數。

例如:

function Mold(a,b){ this.a=a; this.b=b; } Mold.prototype.count=function(){ return this.a+this.b; }; let sum=new Mold(1,2); console.log(sum.count())//3

這中寫法跟傳統的面向對象語言差異較大,寫起來也比較繁雜。

ES6提供了更加接近其他語言的寫法,引入了Class(類)的概念,作為對象的模板,可以通過class關鍵字,定義類(類似python、java等);

當然ES6的大部分功能再ES5都能實現,ES6的class可以看作是一個語法糖,只是新的class定義類的寫法讓對象原型的寫法更加簡單明了、更接近與面向對象的編程思想。與上面ES5寫的類使用ES6實現,例如:

class Mold{ constructor(a,b){ this.a=a; this.b=b; } count(){ return this.a+this.b; } } let sum=new Mold(1,2); console.log(sum.count())//3

這里ES6的類,只需用class定義,并且類的方法不需要用function定義;還有ES6的constructor方法,代表這該類的構造方法;并且它的this關鍵字指向著實例對象。這里ES5的構造函數Mold,相當于ES6Mold類的constructor方法。

constructor

ES6實例對象的構造函數就是該類本身;并且當我們new 類名()就是執行了constructor這個函數。

例如:

class Mold{ constructor(){console.log('aaa') } } let m=new Mold();// aaa console.log(m.constructor===Mold);//true

上面代碼Mold類的constructor,實例化對象時執行默認constructor;

任何對象都有構造函數,并且構造函數與當前對象的類是相同;

例如:

let arr=new Array(); console.log(arr.constructor===Array);//true let str=new String(); console.log(str.constructor===String);//true let obj=new Object(); console.log(obj.constructor===Object);//true

2. 類的繼承 extends

繼承父類后,子類會繼承父類所有的方法和屬性(包括靜態方法和屬性)

如果子類沒有定義constructor方法,會默認被添加該方法

任何子類都有constructor方法;

例如:

//class 類名 extends 被繼承的類{}Class Father{ constructor(){ } sum(){ console.log('abc'); } static fn(){ console.log('hello') } } Class Son extends Father{ } let s=new Son(); s.sum()//abc,繼承了父類的sum()方法 Son.fn()//hello 繼承了父類的靜態方法fn()

繼承后的子類方法的三種處理:

1). 完全繼承,不需要重寫這個方法,子類執行繼承方法內容與父類相同

2). 重寫覆蓋,只需要在這個類中重寫這個方法就可以覆蓋繼承過來的內容

3). 加工,子類可以用super調用父類的方法或屬性進行加工,再加上子類自己的方法和屬性

3. super

調用父類的構造函數直接使用super(),并且可以傳參;

子類的構造函數中,只有調用了super之后才可以使用this關鍵字,否則會報錯;

例如:

//super.父類函數(); class Father{ constructor(){ console.log('bbb'); } } class Son extends Father{ constructor(x){ this.x=x;//ReferenceError,報錯 super(); this.x=x;//正確 } } let sum=new Son();//bbb

4. 類的static靜態

在屬性或方法前面使用 static定義類的靜態屬性和方法;

所有的靜態屬性和靜態方法都不能通過實例化的對象調用;

需要通過類來調用,靜態屬性和靜態方法是類的專屬屬性和方法,和實例化對象無關,比如數組和數學方法中的:Array.from();Math.random()。

例如:

class Mold{ static x=0; y=1; static fn1(){ console.log('aaa') } fn2(){ console.log('bbb'); } } let m=new Mold(); console.log(m.x,m.y);//undefined , 1 m.fn1(); // TypeError m.fn2(); // bbb //需要通過類來調用 Mold.fn1(); //aaa console.log(Mold.x);//0

靜態的使用場景:

一般靜態的方法是用來解決一系列該類型的方法;

解決具體類型的方法,不是解決某個具體對象的方法

靜態屬性,一般用于存儲該類型的一系列通用的屬性變量

這種存儲,在類創建的時候就已經變成全局的了,可在任何地方調用,并且不會被自動銷毀

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品影视| 久久精品国产99久久| 六月婷婷一区| 亚洲资源网站| 欧美一级网站| 精品伊人久久| 久久久久免费| 欧美福利一区| 亚洲人成网站在线在线观看| 日本不卡中文字幕| 久久天堂影院| 欧美一区二区性| 丝袜脚交一区二区| 九九久久婷婷| 黄色在线观看www| 精品一区在线| 婷婷精品久久久久久久久久不卡| 91精品视频一区二区| 精品国产一区二| 国产精品66| 美女网站一区| 欧美日韩在线精品一区二区三区激情综合 | 国产日韩视频| 老司机免费视频一区二区| 日韩中文欧美| 日韩在线成人| 亚洲综合电影| 免费看精品久久片| 久久精品午夜| 亚洲免费婷婷| 精品亚洲二区| 免费精品视频| 久久精品理论片| 久久国产精品99国产| 欧美日韩黄网站| 久久精品91| 欧美日韩91| 亚洲黄色免费av| 综合激情在线| 国产a久久精品一区二区三区| 亚洲女同一区| 美女高潮久久久| 爽好久久久欧美精品| 成人国产精品一区二区网站| 蜜桃久久久久久| 97精品中文字幕| 深夜日韩欧美| 99精品一区| 欧美精品成人| 在线一区二区三区视频| 日韩在线二区| 国产精品久久久久久av公交车| 偷拍精品精品一区二区三区| 日韩成人午夜精品| 亚洲二区三区不卡| 精品一区二区三区的国产在线观看| 亚洲特色特黄| 国产66精品| 国产精品三p一区二区| 亚洲欧美日韩国产| 久久久久国产精品一区二区| 精品亚洲a∨| 国产精区一区二区| 麻豆亚洲精品| 久久久亚洲欧洲日产| 亚洲一区成人| 日本强好片久久久久久aaa| 成人福利视频| 久久精品xxxxx| 亚洲香蕉久久| 国产精品97| 欧美亚洲国产日韩| 亚洲日本免费电影| 国产精品毛片在线看| 色婷婷久久久| 国产精品久久久久久久久久10秀| 国产剧情在线观看一区| 日韩高清电影免费| 亚州av日韩av| 亚洲免费毛片| 蜜芽一区二区三区| 亚洲综合欧美| 2023国产精品久久久精品双| 日韩精品一卡| 色婷婷精品视频| 午夜精品成人av| 日韩精品永久网址| 香蕉成人av| 99久久婷婷| 999久久久免费精品国产| 日韩欧美在线中字| 夜久久久久久| 女同性一区二区三区人了人一 | 国产精品超碰| 国产精品免费99久久久| 午夜一区在线| 黄色av日韩| 久久午夜精品一区二区| 久久成人亚洲| 亚洲精品美女91| 日本欧美在线| 你懂的网址国产 欧美| 精品黄色一级片| 97精品国产| 私拍精品福利视频在线一区| 国产精品99一区二区| 亚洲精品888| 日韩专区一卡二卡| 婷婷精品久久久久久久久久不卡| 日本a级不卡| 精品一区二区三区的国产在线观看| 麻豆精品少妇| 色偷偷色偷偷色偷偷在线视频| 成人在线网站| 亚洲色图网站| 国产精品99精品一区二区三区∴| 给我免费播放日韩视频| 色偷偷色偷偷色偷偷在线视频| 亚洲午夜在线| 天堂久久av| 国产精品17p| 中国字幕a在线看韩国电影| 99久久激情| 亚洲一二三区视频| 国产精品一区二区中文字幕| 精品久久国产一区| 久久久水蜜桃av免费网站| 欧美日韩国产在线一区| 亚洲1区在线| 韩国女主播一区二区三区| 伊人久久大香线蕉av不卡| 亚洲人成毛片在线播放女女| 国产精选一区| 激情久久婷婷| 日韩国产在线不卡视频| 久久精品天堂| 午夜欧美理论片| 欧美亚洲一区二区三区| 日本国产精品| 亚洲欧美网站在线观看| 精品国产一级| 亚洲国产日韩欧美在线| 日本视频一区二区| 天堂av在线| 亚洲免费一区三区| av综合电影网站| 综合日韩在线| 国产成人精品一区二区免费看京| 欧美特黄一级| 麻豆一区在线| 久久国产精品99国产| 久久精品欧洲| 亚洲va久久| 亚洲午夜精品久久久久久app| 日本欧美在线| 欧美日韩国产综合网| 久久这里只有精品一区二区| 亚洲综合精品四区| jizzjizz中国精品麻豆| 日韩欧美美女在线观看| 欧美日韩中文一区二区| 久久99影视| 亚洲精选91| 国产综合亚洲精品一区二| 国产精品nxnn| 在线精品一区| 99久久夜色精品国产亚洲1000部| 国产精品亚洲人成在99www| 久久99伊人| 久久人人精品| 91亚洲成人| 国产日韩中文在线中文字幕| 9色精品在线| 国产一区清纯| 92国产精品| 国产中文欧美日韩在线| 国产精品丝袜在线播放| 亚洲欧洲免费| 夜夜精品视频| 亚洲午夜黄色| 999精品一区| 久久天堂av| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产一区二区三区网| 久久国产视频网| 日韩在线播放一区二区| 欧美中文一区二区| 日韩影院二区| 国产精品久久| 欧美视频久久| 日本成人中文字幕在线视频| 蜜臀久久久久久久| 国产精品毛片在线看| 亚洲精品中文字幕乱码| 激情久久五月| 亚洲国产专区校园欧美| 99久久精品网| 精品欧美一区二区三区在线观看| 精品高清久久| 欧美国产偷国产精品三区|