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

您的位置:首頁技術(shù)文章
文章詳情頁

JS快速掌握ES6的class用法

瀏覽:160日期:2024-03-28 15:09:37
1.如何構(gòu)造?

先復(fù)習(xí)一下es5常用的構(gòu)建類的方法:首先es5的寫法使用原型進(jìn)行對(duì)象的方法的,為什么不在構(gòu)造函數(shù)里添加方法呢?因?yàn)閷?shí)例化對(duì)象的時(shí)候,會(huì)重復(fù)的建立好多相同的方法,浪費(fèi)資源。所以需要把對(duì)象的方法掛載到prtotype里。

關(guān)于new和this的綁定問題,可以大概簡(jiǎn)化為:

首先通過new生成一個(gè)新的對(duì)象 然后讓這個(gè)對(duì)象綁定到構(gòu)造函數(shù)的this中去 然后綁定這個(gè)構(gòu)造對(duì)象的原型對(duì)象上 最后把這個(gè)對(duì)象返回給前面定義的對(duì)象

那么接下來看例子吧:

fuction Animal(name,age){ this.name = name this.age = age // 這樣是浪費(fèi)資源的 // this.eat = function(){ // console.log('今天我吃飯了') // }}// 正確做法Animal.prototype.eat=function(){ console.log('今天我吃飯了')}

然后上ES6的class,class很明顯就簡(jiǎn)化了這個(gè)操作

cosnt dog = new Animal('wangcai',2) // 會(huì)報(bào)錯(cuò),ES6為了修改陋習(xí),和let和const一樣,class不會(huì)提升.class Animal{ constroctor(name,age){ this.name = name this.age = age } eat(){ console.log('今天我吃飯了') }}cosnt dog = new Animal('wangcai',2) //正確位置

另外class還添加了靜態(tài)方法,set,get等操作。

class Animal{ constroctor(name,age){ this.name = name this.age = age } eat(){ console.log('今天我吃飯了') } set name(value){ this.tempname ='老鐵'+value } get name(){ return this.tempname } static introuduce(){ console.log('我現(xiàn)在是一個(gè)動(dòng)物類') }}//set() get()const dog = new Animal('giao',2)dog.name='agiao' console.log(dog.name) // 老鐵agiao// 靜態(tài)方法Animal.introuduce() // 我現(xiàn)在是一個(gè)動(dòng)物類

再說繼承之前補(bǔ)充個(gè)小知識(shí)點(diǎn),class的方法名可以通過計(jì)算屬性的操作來命名

let tempname = 'giao'class Animal{ constroctor(name,age){ this.name = name this.age = age } [tempname](){ console.log('一給我咧giao') }}const xiaoagiao = new Animal('giaoge',30)xiaoagiao.giao() // 一給我咧giao2.繼承

回到繼承這個(gè)問題,es5是怎么繼承的呢?

function Animal( name ){ this.name = name}Animal.prototype.break(){ console.log('叫!')}function Dog( name, age ){ Animal.call(this,name) this.age = age}Dog.prototype = new Animal()Dog.prototype.constructor = Dog

那么這個(gè)叫組合繼承,怎么個(gè)組合法呢?

屬性方面的繼承是借用繼承,可以看到Animal.call(this,name)就是相當(dāng)于把Animal這個(gè)函數(shù)在Dog的構(gòu)造函數(shù)里調(diào)用了一遍而已。雖然屬性他們沒有原型鏈的鏈?zhǔn)铰?lián)通,但是代碼拿過來給Dog都跑了一遍,所以自然就繼承了Animal的name屬性。

Animal.call(this,name)

方法的繼承是原型式繼承,眾所周知,一個(gè)函數(shù)會(huì)在創(chuàng)建的時(shí)候生成一個(gè)原型對(duì)象,這個(gè)函數(shù)的的一個(gè)protoype屬性指向他的原型對(duì)象,原型對(duì)象的constructor屬性指向這個(gè)函數(shù)。如果用new來新建這個(gè)函數(shù)的實(shí)例,這個(gè)實(shí)例會(huì)有一個(gè)__proto__的屬性指向函數(shù)的原型對(duì)象。所以借用函數(shù)實(shí)例會(huì)指向函數(shù)原型對(duì)象這個(gè)特性,我們將被繼承的函數(shù)實(shí)例化,然后將這個(gè)實(shí)例化的對(duì)象賦給繼承的構(gòu)造函數(shù)的prototype屬性,這樣就構(gòu)成了一種鏈?zhǔn)浇Y(jié)構(gòu)。但同被繼承的函數(shù)實(shí)例化是不具備constructor這個(gè)屬性的,我們需要將他的constructor指向繼承的構(gòu)造函數(shù)。

Dog.prototype = new Animal()Dog.prototype.constructor = Dog

所以按照這個(gè)套路,我們用es5的語法,將dog函數(shù)繼承了Animal函數(shù)的name和break方法.

那么ES6是怎么做的呢?

class Animal{ constructor( name ){ this.name = name } break(){ console.log('叫!') }}class Dog extends Animal { constructor( name, age ){ super(name) this.age=age }}

現(xiàn)在只需要在聲明Dog類的時(shí)候加一個(gè)extends Animal,然后再在constructor構(gòu)造函數(shù)里加一個(gè)super就好了。

這個(gè)super(name)就相當(dāng)于Animal.call(this,name)了。然后關(guān)于方法的問題,自然就不用擔(dān)心了,extends自動(dòng)就處理好了,就不用再去用prototype亂指了.

以上就是JS快速掌握ES6的class用法的詳細(xì)內(nèi)容,更多關(guān)于JS ES6的class用法的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产亚洲一区| 成人午夜精品| 亚洲欧美成人综合| 99综合视频| 亚洲精品影视| 久久wwww| 日本免费一区二区三区四区| 国产综合视频| 亚洲丝袜美腿一区| 欧美综合社区国产| 久久97视频| 久久久天天操| 日韩中文字幕区一区有砖一区| 亚洲香蕉久久| 日韩午夜视频在线| 国产精品分类| 99精品美女| 亚州精品视频| 福利视频一区| 国产精品日韩| 你懂的网址国产 欧美| 欧美日韩精品免费观看视欧美高清免费大片| 久久国产中文字幕| 日韩综合一区二区| 成人国产精品一区二区免费麻豆| 国产一区亚洲| 国产日韩一区二区三区在线播放| 不卡一二三区| 天海翼精品一区二区三区| 国精品产品一区| 99riav1国产精品视频| 国产精品www.| 亚洲综合电影一区二区三区| 国产精品久久久免费| 91精品国产调教在线观看| 亚洲精品护士| 日韩中文首页| 日本天堂一区| 亚洲午夜久久久久久尤物| 久久国产三级精品| 日韩视频一区| 精品成av人一区二区三区| 亚洲一区观看| 欧美国产美女| 青青草国产精品亚洲专区无| 久久久久久网| 青青国产91久久久久久| 四虎884aa成人精品最新| 亚洲ww精品| 久久男人天堂| 日韩av一区二| 亚洲一区二区三区高清| 欧美男人天堂| 国产精品亚洲四区在线观看| 日韩视频一区| 日韩中文首页| 久久精品一区二区国产| 五月激激激综合网色播| 国产专区一区| 国产传媒在线观看| 日韩二区在线观看| 亚洲欧美久久久| 久久久久蜜桃| 精品入口麻豆88视频| 视频一区中文字幕精品| 亚洲激情中文| 日韩精品2区| 麻豆极品一区二区三区| 日韩有码av| 久久国产精品99国产| 91精品一区二区三区综合在线爱| 国产视频网站一区二区三区| 亚洲天堂av资源在线观看| 亚洲精品91| 久久一级电影| 国产999精品在线观看| 久久国产视频网| 午夜视频一区二区在线观看| 免费日韩精品中文字幕视频在线| 亚洲网站视频| 亚洲无线一线二线三线区别av| 日韩免费av| 欧美三级网址| 日韩黄色大片| 日韩一区二区三区在线免费观看| 精品日韩一区| 粉嫩av一区二区三区四区五区| 国产精品巨作av| 国产精品久久久久久久久久久久久久久| 快she精品国产999| 免播放器亚洲| 在线观看亚洲精品福利片| 一区二区不卡| 日韩激情网站| 国产欧美日韩一区二区三区在线| 91午夜精品| 国产精品日本一区二区不卡视频 | 91欧美极品| 日本在线不卡视频一二三区| 日本a级不卡| 国产精品久久免费视频| 麻豆国产精品777777在线| 精品入口麻豆88视频| 日韩大片在线观看| 激情久久中文字幕| 9久re热视频在线精品| 国产亚洲一级| 免费在线观看视频一区| 亚洲精品欧美| 国产精品一区二区中文字幕| 国产精品一级| 成人三级高清视频在线看| 日韩精品dvd| 国产一区清纯| 蜜臀精品一区二区三区在线观看| 亚洲va久久| 国产精品一区二区三区av麻| 久久丁香四色| 日韩欧美一区二区三区在线观看| 国产精品av一区二区| 蜜桃传媒麻豆第一区在线观看| 天海翼精品一区二区三区| 国产精品一区二区三区美女 | 国产精品久久久久久久久久白浆 | 91精品韩国| 亚洲在线免费| 国产极品一区| 欧美日韩亚洲在线观看| 最新国产精品久久久| 国产精品欧美在线观看| 三级精品视频| 亚洲美女91| 91日韩免费| 免费人成精品欧美精品| 久久不卡日韩美女| 国产精品丝袜xxxxxxx| 久久狠狠久久| 激情偷拍久久| 国产日韩中文在线中文字幕| 美女福利一区二区三区| 亚洲欧美日韩综合国产aⅴ| 国产精品一二| 自拍日韩欧美| 麻豆国产一区| 中文一区一区三区免费在线观| 麻豆精品少妇| 伊人久久成人| 精品不卡一区| 婷婷成人av| 免费不卡中文字幕在线| 欧美影院视频| 悠悠资源网久久精品| 精品一区二区三区视频在线播放| 国产精品婷婷| av免费不卡国产观看| 亚洲一区二区三区高清不卡| 精品视频网站| 日韩精品一区二区三区av| 蜜桃成人精品| 国产精品大片免费观看| 性一交一乱一区二区洋洋av| 高清av一区| 欧美日韩国产一区二区在线观看| 国产综合激情| 国产91欧美| 日本午夜精品视频在线观看| 激情欧美一区二区三区| 久久一区视频| 综合激情婷婷| 日韩综合精品| 国产精品www.| 日韩一区二区三免费高清在线观看 | 麻豆精品新av中文字幕| 久热综合在线亚洲精品| 99久久亚洲精品| 精品视频99| 国产欧美成人| 日本伊人久久| 日韩中文字幕1| 欧美福利在线| 日本高清不卡一区二区三区视频| 久久福利在线| 青草综合视频| 亚洲精品乱码| 日韩精品一级二级 | 国产精品高颜值在线观看| 国产亚洲观看| 日韩在线观看一区二区三区| 美女黄网久久| 合欧美一区二区三区| 成人精品中文字幕| 国产一区二区三区四区二区| 国产毛片一区二区三区| 91国内精品| 亚洲精品护士| 综合国产在线| 日韩在线网址| 日韩精品免费视频人成| 日韩精品第一| 人人爱人人干婷婷丁香亚洲|