摘要:原理通過(guò)構(gòu)造函數(shù)聲明類通過(guò)的聲明類原理首先得了解原型鏈的基礎(chǔ)知識(shí)分析是一個(gè)類,也是一個(gè)函數(shù)是一個(gè)對(duì)象指向的是函數(shù),該函數(shù)還掛了和屬性將函數(shù)掛載的原型上。
ES6 class原理
1.通過(guò)構(gòu)造函數(shù)聲明類
function People(name,age){ this.name = name; this.age = age; } People.prototype.say=function(){ console.log("hello)} People.see=function(){ alert("how are you")}
2.通過(guò)es6的class聲明類
class People{ constructor(name,age){ this.name = name; this.age = age} static see(){alert("how are you")} } say(){console.log("hello");}}
3.es6 class原理
首先得了解原型鏈的基礎(chǔ)知識(shí)https://segmentfault.com/a/11...;
分析:①People是一個(gè)類,也是一個(gè)函數(shù);②constructor是一個(gè)對(duì)象指向的是People函數(shù),該函數(shù)還掛了name和age屬性;③將say函數(shù)掛載People的原型上。
代碼
let People = function(){ //第①步,創(chuàng)建People函數(shù) function People(name,age){//第②步,理解constructor就是指向People,People掛載著name和age兩個(gè)屬性 this.name = name; this.age = age;} //將靜態(tài)和動(dòng)態(tài)的方法分別掛載在People的原型和People上。 creatClass(People,[{key:"say",value:function(){ console.log(123)}}],[{key:"see",value:function(){ alert("how are you")}}]) return People;} //這里的Constructor就是指的People let creatClass = function({ return function(Constructor,,protoProps,staticProps){ //有原型上的方法掛載People.prototype上 if(protoProps){defineProperties(Constructor.prototype,protoProps)} //有People對(duì)象上的方法掛載People上 if(staticProps){defineProperties(Constructor,staticProps)}} //定義對(duì)象屬性 let defineProperties =function(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; Object.defineProperty(target, descriptor.key, descriptor); } } })
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84335.html
摘要:理解繼承在中對(duì)繼承有了更友好的方式。總的來(lái)說(shuō)的的實(shí)質(zhì)和以前的繼承方式是一致的,但是有了更好的,更清晰的表現(xiàn)形式。 理解ES6繼承extends 1.在es6中對(duì)繼承有了更友好的方式。在下面的繼承中那到底在extends的時(shí)候做了什么,super()又是代表什么意思。 class People{ constructor(name, age) { this.name = name; ...
摘要:一步,一步前進(jìn)一步深入淺出之。是構(gòu)造函數(shù),可在里面初始化我們想初始化的東西。類靜態(tài)方法大多數(shù)情況下,類是有靜態(tài)方法的。中添加類方法十分容易類方法和靜態(tài)方法是同一個(gè)東西在的語(yǔ)法中,我們可以使用關(guān)鍵字修飾方法,進(jìn)而得到靜態(tài)方法。 一步,一步前進(jìn)の一步 ES6深入淺出之Classes。翻譯的同時(shí)亂加個(gè)人見解,強(qiáng)烈推薦閱讀原作者的文章,言簡(jiǎn)意賅。es6-classes-in-depth 類語(yǔ)...
摘要:的翻譯文檔由的維護(hù)很多人說(shuō),阮老師已經(jīng)有一本關(guān)于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過(guò)程中,顯得越來(lái)越重要。為了讓編程更美好,我們就需要引入來(lái)降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書的目的是以目前還在制定中的ECMASc...
摘要:本文總結(jié)了前端老司機(jī)經(jīng)常問(wèn)題的一些問(wèn)題并結(jié)合個(gè)人總結(jié)給出了比較詳盡的答案。網(wǎng)易阿里騰訊校招社招必備知識(shí)點(diǎn)。此外還有網(wǎng)絡(luò)線程,定時(shí)器任務(wù)線程,文件系統(tǒng)處理線程等等。線程核心是引擎。主線程和工作線程之間的通知機(jī)制叫做事件循環(huán)。 showImg(https://segmentfault.com/img/bVbu4aB?w=300&h=208); 本文總結(jié)了前端老司機(jī)經(jīng)常問(wèn)題的一些問(wèn)題并結(jié)合個(gè)...
閱讀 1661·2021-10-29 13:11
閱讀 825·2021-09-22 10:02
閱讀 1687·2021-08-20 09:35
閱讀 1548·2019-08-30 15:54
閱讀 2457·2019-08-30 15:44
閱讀 1379·2019-08-29 16:52
閱讀 1098·2019-08-23 12:56
閱讀 749·2019-08-22 15:16