WEB前端面試題

面試官 先做下自我介紹吧?
對(duì)后端有了解嗎?node之類的
那我就針對(duì)你的項(xiàng)目問(wèn)一些基礎(chǔ)能力?(好的)
我看你接觸前端兩年多,能告訴我你是怎么入行前端的嗎?
我引導(dǎo)了一下說(shuō)之后會(huì)做一些可視化的東西,引導(dǎo)偏了。
我看您對(duì)ES6,js知道比較多吧
你個(gè)人覺(jué)得,你html,css,js哪方面比較強(qiáng)啊?(面試官還是挺好的,給我機(jī)會(huì)選擇,我竟然說(shuō)了js,但是面試官還是問(wèn)html和css東西)
過(guò)去學(xué),html,css有沒(méi)有比較印象深刻的一些點(diǎn)啊?
有沒(méi)有用html和css做出來(lái)什么作品???
移動(dòng)端適配是響應(yīng)式,還是通過(guò)其他方案?
能給我細(xì)講一下rem和其他單位之間的區(qū)別嗎?
flex布局和傳統(tǒng)布局有什么區(qū)別?
說(shuō)了下雙飛翼布局
雙飛翼布局怎么保證三列的高度一致呢?
雙飛翼布局具體怎么實(shí)現(xiàn)的?
假設(shè)用flex實(shí)現(xiàn)雙飛翼布局,讓三列等高?

有什么比較復(fù)雜的項(xiàng)目,有些什么樣的亮點(diǎn)?,有什么難點(diǎn)?
做的微信小程序有些什么樣的亮點(diǎn)?,有什么難點(diǎn)?
你覺(jué)得你在這個(gè)團(tuán)隊(duì),你的優(yōu)勢(shì)是什么呢,尤其是技術(shù)上?
https說(shuō)一下過(guò)程?
移動(dòng)端300毫秒延遲,怎么解決的?
移動(dòng)端點(diǎn)擊穿透?
304狀態(tài)碼是怎么樣,怎么產(chǎn)生的?--》Etag值怎么產(chǎn)生的?
異步的處理方式,都是怎么處理的?(Promise)--》ES7中你知道用什么方法嗎?(async和await)--》Generator 有了解嗎?(沒(méi)有耶)
cookie和session了解嗎?
跨域怎么處理的呢?都知道什么方法?--> jsonp和CORS那個(gè)更安全?
nodejs用過(guò)嗎?
微信掃一掃二維碼網(wǎng)頁(yè)上登陸前后端過(guò)程?
說(shuō)下生命周期?
Vue中Compile過(guò)程說(shuō)一下?
箭頭函數(shù)和普通函數(shù)的區(qū)別?
你今后有什么想法?
有想法出來(lái)實(shí)習(xí)嗎?當(dāng)然了
你前端哪個(gè)框架更熟悉?介紹下雙向綁定的原理?
你做前端開(kāi)發(fā)移動(dòng)端多一點(diǎn),PC端多一點(diǎn),你遇到有什么難解的兼容性問(wèn)題?
rem和em有什么去區(qū)別???
事件委托的概念你了解嗎?您知道這個(gè)概念是怎樣的?
事件委托主要解決什么問(wèn)題呢?
用原生JS處理事件綁定?比如一個(gè)列表,然后,怎么監(jiān)聽(tīng)每一個(gè)li的點(diǎn)擊事件?---> 如果新加了一些li,怎么辦呢?(回答不好)
null和undefined有什么區(qū)別?
你一般情況下怎么判斷基本的數(shù)據(jù)類型?
怎么判斷數(shù)組?
對(duì)數(shù)組的淺拷貝?--->深淺拷貝有什么區(qū)別?--->深拷貝一個(gè)數(shù)組怎么做呢
閉包你是怎么理解?---->項(xiàng)目中用過(guò)嗎?
原型繼承了解嗎?我給你個(gè)場(chǎng)景,有一個(gè)FUNA,F(xiàn)UNB,讓B繼承A,用原型鏈怎么B繼承A的屬性?
普通函數(shù)和構(gòu)造函數(shù)的區(qū)別?
不同選擇器權(quán)重是怎么計(jì)算的?
前端性能優(yōu)化?
position定位?
position和float的區(qū)別?
設(shè)計(jì)模式有了解嗎?(比如觀察者模式)?
跨域了解多少?
CORS原理是什么?
你對(duì)算法了解怎么樣?常用的排序算法?--->快速排序的思路大概是什么樣的?--->快速排序的時(shí)間復(fù)雜度
原型鏈和作用域鏈你的理解?
前端的設(shè)計(jì)模式你可以說(shuō)下嗎?
事件模型您介紹下嗎?
同一個(gè)對(duì)象節(jié)點(diǎn)上綁定多個(gè)事件,執(zhí)行的順序是怎樣的?
你知道有沒(méi)有什么事件不支持冒泡,捕獲的?
正則表達(dá)式(字符串格式成金額(歐美,三個(gè),)的)?
JS有沒(méi)有了解過(guò)函數(shù)式編程?
您今后前端的職業(yè)規(guī)劃?
整體的職業(yè)生涯規(guī)劃?
你理解的前端專家需要掌握哪些東西?
前端架構(gòu)你有了解嗎?
計(jì)算機(jī)相關(guān)的專業(yè)課您學(xué)過(guò)那些?
OSI七層協(xié)議?
http和https有什么區(qū)別?
https使用上有什么注意點(diǎn)?
https和http性能有什么區(qū)別?
常見(jiàn)的排序方法,你都熟悉那些?
說(shuō)下希爾排序的過(guò)程?
希爾排序的時(shí)間復(fù)雜度和空間復(fù)雜度多少?( 希爾排序的時(shí)間復(fù)雜度是:O(nlogn)~O(n2),平均時(shí)間復(fù)雜度大致是O(n√n))
時(shí)間復(fù)雜度怎么推測(cè)的?
數(shù)據(jù)結(jié)構(gòu)你對(duì)那些比較熟悉?
二叉樹是什么???
平衡二叉樹(AVL)有什么特點(diǎn)?
平衡二叉樹(AVL)有什么好處?
平衡二叉樹(AVL)和紅黑樹的區(qū)別?
平衡樹的插入和刪除的時(shí)間復(fù)雜度?
那個(gè)項(xiàng)目是你投入比較多的?
這個(gè)項(xiàng)目主要為了解決什么問(wèn)題???
項(xiàng)目怎么分工,你主要負(fù)責(zé)那一塊?
項(xiàng)目過(guò)程中有遇到什么問(wèn)題嗎?
項(xiàng)目中對(duì)你挑戰(zhàn)比較大的,有嗎?
Vue的設(shè)計(jì)思路你了解嗎?
整個(gè)什么生命周期?
Vue的響應(yīng)式是怎么實(shí)現(xiàn)的?(一臉懵,其實(shí)就是雙向綁定,然后很好地打出來(lái)了)
JS閉包有什么作用?
你的職業(yè)規(guī)劃是怎么考慮的?
如果能來(lái)實(shí)習(xí),大概是什么時(shí)候?時(shí)間周期?
先做前端開(kāi)發(fā)工程師三年,然后轉(zhuǎn)管理,之后根據(jù)在公司的發(fā)展,如果能夠做到高管,就在大公司呆著,如果做不到,就創(chuàng)業(yè)。創(chuàng)業(yè)最大的好處是沒(méi)人管了,可以按照自己的思路去做些嘗試。當(dāng)然,你再也沒(méi)有理由抱怨周邊了。如果創(chuàng)業(yè)搞不成,大家肯定最指責(zé)的是創(chuàng)始人。

下面問(wèn)一下js方面的問(wèn)題

1.簡(jiǎn)單介紹一下自己,為什么選擇做前端?
2.說(shuō)下你所在的EPI實(shí)驗(yàn)室和CTG工作室是干什么的?
3.介紹下你最近的項(xiàng)目?
4.如何讓子類繼承父類的方法與屬性?
5.兩道this指向問(wèn)題
6.CSS屬性選擇器和偽類選擇器的優(yōu)先級(jí)?
7.說(shuō)下你ES6、7中用到哪些東西?
8.Vue是如何實(shí)現(xiàn)雙向綁定的?看過(guò)Vue源碼嗎?
9.Vue中的路由你使用的哪種模式?如何與后臺(tái)溝通路由?
10.怎么發(fā)送一個(gè)跨域的POST請(qǐng)求?

說(shuō)一下原型鏈吧(proto,prototype)?
知道拷貝對(duì)象吧,拷貝一個(gè)對(duì)象能做嗎(淺拷貝,深拷貝)?
講講,怎么上手的vue,以及為啥用vue而不用其他框架?
你對(duì)vue的源碼了解嗎,給我講講雙向綁定原理怎么實(shí)現(xiàn)的,詳細(xì)描述什么時(shí)候監(jiān)聽(tīng)變化的,什么時(shí)候觸發(fā)變化的?
Vue雙向綁定?
Vuex整個(gè)觸發(fā)過(guò)程(actions,state,view)?
Vue和Vuex有什么差別?

項(xiàng)目
1.最近做過(guò)哪些項(xiàng)目?介紹一下
2.注冊(cè)登錄流程有了解過(guò)嗎?前端做注冊(cè)登錄流程詳細(xì)描述一下?
3.為什么cookie不安全?token怎么生成的?
4.jpg格式和png格式怎么區(qū)別?gif呢?什么情況下分別選擇?
5.做過(guò)哪些插件?怎么實(shí)現(xiàn)的?
6.用Vue怎么實(shí)現(xiàn)一個(gè)百度下拉框?
7.JQuery的bind()和on()方法的區(qū)別?
8.只允許使用css,讓一個(gè)頁(yè)面原有dom不可見(jiàn)(問(wèn)了和阿里一模一樣的問(wèn)題)
2.問(wèn)最近做過(guò)哪些項(xiàng)目,項(xiàng)目中遇到哪些問(wèn)題?怎么解決的?
3.你用到了Flex,請(qǐng)問(wèn)flex怎么設(shè)置垂直水平居中?
4.css有哪些垂直水平居中方式?
5.css選擇器有哪些?選擇器的優(yōu)先級(jí)?
6.position的值有哪些?
7.只允許使用css,讓一個(gè)頁(yè)面原有dom不可見(jiàn)(考察CSS屬性以及結(jié)構(gòu)化思維,考官說(shuō)有多種解決方法)
8.瀏覽器高級(jí)特性有了解嗎?(service worker)
9.瀏覽器CSS Hack手段有哪些?
10.為什么瀏覽器需要同源策略?
11.瀏覽器跨域的幾種方式?
12.瀏覽器性能怎么優(yōu)化?(從多個(gè)方向上去答)
13.JS基本數(shù)據(jù)類型有哪些?
14.怎樣判斷一個(gè)數(shù)組是數(shù)組?
15.怎么用JS實(shí)現(xiàn)一個(gè)隊(duì)列?
16.描述出任意一個(gè)排序算法?
17.Vue怎么實(shí)現(xiàn)雙向綁定的?
18.說(shuō)出你覺(jué)得自己身上最優(yōu)秀的能力?
19.說(shuō)出你未來(lái)的規(guī)劃?
20.你最近有沒(méi)有什么想要學(xué)習(xí)的技術(shù)?
21.你有什么又問(wèn)我的?(問(wèn)了面試官的學(xué)習(xí)方法和學(xué)習(xí)習(xí)慣)
為什么你們的頁(yè)面要用到vue-router呢?,如果沒(méi)有vue-router,你們還會(huì)做單頁(yè)面應(yīng)用嗎?
說(shuō)說(shuō)性能優(yōu)化?具體哪些優(yōu)化的收益較大?
傳輸模型:瀏覽器輸入url到整個(gè)頁(yè)面顯示出來(lái)經(jīng)歷的過(guò)程?能介紹多細(xì)就多細(xì)?
最常問(wèn)的問(wèn)題:項(xiàng)目中遇到的難點(diǎn),怎么解決的?

說(shuō)說(shuō),基于NLP的匯款單自動(dòng)生成APP這個(gè)項(xiàng)目?
node端有做過(guò)什么嗎?
學(xué)前端,比較精彩的點(diǎn)?

1.從URL到頁(yè)面呈現(xiàn)發(fā)生了什么?
2.HTTP響應(yīng)頭組成結(jié)構(gòu)?
3.你平時(shí)是怎么學(xué)習(xí)前端的?
4.講講Webpack,除了Webpack還使用過(guò)什么?Webpack和Gulp的區(qū)別是什么?
5.講講你最復(fù)雜的項(xiàng)目?遇到的問(wèn)題?
6.移動(dòng)端兼容性考慮過(guò)哪些?
7.怎么處理跨域的?

1.自我介紹
2.問(wèn)覺(jué)得自己最出彩的項(xiàng)目
3.技術(shù)選型當(dāng)時(shí)怎么考慮的?
4.有沒(méi)有想過(guò)你與后臺(tái)以及部署人員交接的這種流程太麻煩,怎么簡(jiǎn)化?
5.登錄注冊(cè)流程你前端怎么處理的?
6.有沒(méi)有想過(guò)在后臺(tái)富文本編輯器不安全?XSS和CSRF怎么避免?
7.Cookie與Session的區(qū)別?
8.除了Cookie,還有其他本地存儲(chǔ)的方式嗎?(Web Storage)
9,前端工程化你是怎么理解的?
10.輪播圖你怎么實(shí)現(xiàn)的?怎么防回閃的?
11.描述一下JS中的數(shù)據(jù)類型有哪些?
12.JS原型與閉包,你的理解是什么?
13.ES6中你常用的有哪些?
14.為什么const定義一個(gè)數(shù)組與對(duì)象,仍然可以對(duì)其操作?
15,promise比傳統(tǒng)的回調(diào)函數(shù)好在哪里?
16.promise中then是怎么實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用的?
17.異步方式除了promise還有那些可以實(shí)現(xiàn)?(希望回答出generator以及ES7的async,await的知識(shí))
18.描述下CSS盒子模型?
19,CSS水平垂直居中的方式?
20.Vue中父子組件通訊問(wèn)題?以及兩個(gè)不相干組件通訊問(wèn)題?
21.Vue中兩個(gè)數(shù)據(jù)a,b,a渲染在頁(yè)面上,b沒(méi)有,此時(shí)有函數(shù)操作了b,問(wèn)組件是否觸發(fā)重新渲染?
22.Vue中Computed與Watch用過(guò)嗎?區(qū)別是什么?
23.怎么去解決用Webpack打包后的項(xiàng)目體積過(guò)大的問(wèn)題?
24.說(shuō)下你對(duì)Vue這個(gè)框架怎么理解的?( MVVM )

1.怎么實(shí)現(xiàn)私有變量,不能用點(diǎn)屬性訪問(wèn),只能用方法(多種實(shí)現(xiàn))
2.不用循環(huán),怎么實(shí)現(xiàn)x長(zhǎng)度,元素為y的數(shù)組
3.怎么實(shí)現(xiàn)add(3,4)以及add(3)(4)?
4.用3升,5升杯子怎么量出4升水?如果用代碼你會(huì)怎么實(shí)現(xiàn)?
5.最復(fù)雜的一個(gè)項(xiàng)目,平時(shí)寫代碼多嗎?
6.最欣賞的一個(gè)網(wǎng)站設(shè)計(jì),有哪些優(yōu)點(diǎn)?你對(duì)設(shè)計(jì)的理解?

1.求正,負(fù)數(shù)組其中的兩元素之和最接近零的這兩元素,并說(shuō)出你這種解法的時(shí)間復(fù)雜度
2.鏈表,棧,隊(duì)列相關(guān)問(wèn)題
3.賽馬問(wèn)題,25匹馬,5個(gè)賽道,最少幾次能選出最快的三匹馬?
4.面向?qū)ο笤O(shè)計(jì)題,一個(gè)借書還書系統(tǒng)需要哪些類,屬性,方法(需要考慮很多情況)

1.首先介紹一下自己最近的項(xiàng)目?
2.閉包介紹一下你的理解?用處,缺點(diǎn)
3.跨域有了解嗎?
4.瀏覽器緩存你知道哪些?
5.Cookie、Session、Webstorage的區(qū)別
6.簡(jiǎn)單說(shuō)下從url輸入到頁(yè)面輸出的整個(gè)過(guò)程
7.說(shuō)下你知道的HTTP 狀態(tài)碼
8.介紹一下盒子模型?
9.Flex用過(guò)嗎?用過(guò)哪些?
10.React有用過(guò)嗎?
11.ES6有用過(guò)嗎?介紹一下?Promise有用過(guò)嗎?
12.HTTP與HTTPS的區(qū)別?
13.手寫代碼:寫一個(gè)函數(shù),參數(shù)為url,輸出一個(gè)對(duì)象,為查詢字符串中的各個(gè)值

1.項(xiàng)目介紹一下,最有成就感的一個(gè)項(xiàng)目?
2.介紹一下你自己對(duì)自己滿意的能力?
3.為什么學(xué)前端?除了前端你還寫什么?
4.JavaScript原型你的了解?
5.說(shuō)下BFC是什么?
6.說(shuō)說(shuō)你對(duì)Flex的理解,rem你怎么理解的?
7.HTTP和HTTPS的區(qū)別?HTTP2.0的區(qū)別?它們的默認(rèn)端口是什么?
8.JS的深拷貝和淺拷貝的區(qū)別?
9.堆和棧有什么區(qū)別?
10.怎么取消事件冒泡?
11.CDN有了解嗎?怎么讓請(qǐng)求在最近的站點(diǎn)下載?
12.手寫代碼:數(shù)組去重的多種實(shí)現(xiàn)?

CSS常用布局
CSS常用布局為盒模型div+css、其中需要注意IE的怪異盒模型,我們通常通過(guò)box-sizing解決。傳統(tǒng)盒模型布局方式中我們可以細(xì)分為文檔流布局、浮動(dòng)布局、定位布局。在ie10+中我們可以使用flex布局,其中我們需要理解最為核心的容器和軸的概念。二維布局中,我們可以使用Grid布局。對(duì)于三欄布局,除了浮動(dòng)實(shí)現(xiàn)方式,還有雙飛翼布局和圣杯布局。其實(shí)雙飛翼布局就是對(duì)圣杯布局的bug修復(fù),一種改造升級(jí)。
了解BFC么?
BFC即為塊級(jí)格式化上下文。在普通流的Box屬于一種formatting box,類型可以為block或者為inline。但是不能同時(shí)為這兩者。并且Block boxes在block formatting context里格式化,inline boxes在inline formatting context中格式化,任何被渲染的元素都屬于一個(gè)box,不是block就是inline。其一般表現(xiàn)規(guī)則分為以下幾種情況:1、在創(chuàng)建了BFC的元素中,其子元素按照文檔流一個(gè)接著一個(gè)放置。垂直方向上他們的起點(diǎn)是一個(gè)包含塊的頂部,兩者相鄰元素的垂直距離取決margin特性。2、在BFC中,每一個(gè)元素的左外邊與包含塊的左邊相接觸。及時(shí)存在浮動(dòng)也是如此。除非這個(gè)元素也創(chuàng)建了一個(gè)新的BFC。3、BFC就是頁(yè)面的一個(gè)獨(dú)立的行政區(qū)域。所有瀏覽器都會(huì)將BFC放到浮動(dòng)元素所在行的剩余空間內(nèi)。當(dāng)HTML滿足一下任意一個(gè)條件即可產(chǎn)生BFC:float不為none、overflow不為hidden、display為table-cell,table-caption,inline-block中的任何一個(gè)。Position值不為relative或static。通常我們使用BFC為了不和浮動(dòng)元素重疊。清除內(nèi)部浮動(dòng)元素。解決上下元素相鄰時(shí)候重疊。
居中方面問(wèn)題
分別從水平居中垂直居中兩方面回答。水平、垂直居中分為單個(gè)元素、多個(gè)元素、已知寬高和未知寬高回答
session、cookie、sessionStorage、localStorage區(qū)別
從client和Server中區(qū)分回答session是什么以及一般session如何使用注意事項(xiàng)以及安全策略,cookie、sessionStorage和localStorage等分別從概念和異同處回答。最后補(bǔ)充項(xiàng)目中的使用情況
px/em/rem的區(qū)別
px顧名思義就是我們通常說(shuō)的像素大小。em和rem都是相對(duì)大小,不過(guò)em是繼承父級(jí)元素的字體大小,rem是相對(duì)于根元素的大小,這個(gè)單位可謂是集相對(duì)大小和絕對(duì)大小為一身。通過(guò)它可以做到只修改根元素即可修改所有字體的大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。當(dāng)rem相對(duì)于瀏覽器進(jìn)行縮放,1rem默認(rèn)為16px。
animation和transition使用過(guò)么
寫法:animation:name duration timing-function delay iteration-function direction .transition為過(guò)渡動(dòng)畫,這種效果可以在事件中觸發(fā),并且圓滑的以動(dòng)畫效果改變css的屬性值。不同于transform,transform為2D轉(zhuǎn)換(問(wèn)題非常開(kāi)放,盡可能多回答你所知道的)
css編寫注意事項(xiàng)
這個(gè)考驗(yàn)個(gè)人平時(shí)編碼的總結(jié)和約束。問(wèn)題較為開(kāi)放,可以結(jié)合個(gè)人開(kāi)發(fā)體驗(yàn)和團(tuán)隊(duì)約束來(lái)回答。比如0后面不帶單位、盡量使用簡(jiǎn)寫、使用子選擇器、合理使用id等。
JavaScript部分

JavaScript閉包了解么
閉包即為函數(shù),但是我們通常所說(shuō)的閉包是指有權(quán)訪問(wèn)并操作別的函數(shù)作用域中變量的函數(shù)。一般表現(xiàn)形式為函數(shù)中返回函數(shù)。通常我們開(kāi)發(fā)中就會(huì)有很多的閉包比如定時(shí)器、事件監(jiān)聽(tīng)、IIFE等。此題是一個(gè)借題發(fā)揮漲分的題目,我們可以談?wù)勯]包的高級(jí)用法,比如單例模式中的使用、js的節(jié)流和防抖甚至可以談一談js的運(yùn)行機(jī)制,gc機(jī)制。
前端跨域都有哪些解決方案
js的前端跨域很多,通常我們給出方案并且應(yīng)該簡(jiǎn)述優(yōu)缺點(diǎn),比如方式有,jsonp、document.domain+iframe、window.name+ifram、location.hash+iframe、postMessage跨域、CORS跨域、websocket跨域、node代理跨域以及NGINX代理等方式。其中對(duì)于我們常用的可以張開(kāi)說(shuō)明,比如CORS跨域中簡(jiǎn)單請(qǐng)求和非簡(jiǎn)單請(qǐng)求的header字段,access-control-allow-origin、access-control-allow-headers、access-control-allow-method等常規(guī)head字段說(shuō)明。
JavaScript中的繼承
1、Es6中我們直接可以使用extends關(guān)鍵字去繼承,通過(guò)重寫super完成繼承,但是在es5中,才是應(yīng)該去主要細(xì)說(shuō)的。2.原型繼承的核心為父類的實(shí)例作為子類的原型。優(yōu)點(diǎn):非常純粹的繼承關(guān)系、簡(jiǎn)單易用、父類新增的原型方法原型屬性子類都可以訪問(wèn)到。缺點(diǎn):要為子類新增屬性和方法,必須要放到new Animal()之后,不能放到構(gòu)造器中,來(lái)自原型對(duì)象的引用類型被所有實(shí)力共享,創(chuàng)建子類,無(wú)法向構(gòu)造函數(shù)傳參。3.構(gòu)造函數(shù)繼承核心:使用父類構(gòu)造函數(shù)來(lái)增強(qiáng)子類的實(shí)例優(yōu)點(diǎn):解決了共享引用類型的問(wèn)題,可以在構(gòu)造函數(shù)里面?zhèn)鲄ⅲ梢詫?shí)現(xiàn)多繼承。缺點(diǎn):實(shí)例不是父類實(shí)例,只能繼承父類的屬性和方法,不能繼承父類原型的方法和屬性、無(wú)法實(shí)現(xiàn)函數(shù)的復(fù)用。4、組合繼承的核心:通過(guò)調(diào)用父類的構(gòu)造,繼承父類的屬性并保留參數(shù)的有點(diǎn),通過(guò)父類的實(shí)例作為子類原型,實(shí)現(xiàn)函數(shù)復(fù)用。優(yōu)點(diǎn):可以繼承屬性和方法以及原型上的屬性和方法、即是子類實(shí)例也是父類實(shí)例、不存在屬性共享的問(wèn)題、函數(shù)可復(fù)用。缺點(diǎn):調(diào)用了兩次構(gòu)造函數(shù),生成了兩份實(shí)例。5、寄生組合繼承核心:砍掉父類的實(shí)例屬性,這樣,在調(diào)用兩次父類的構(gòu)造時(shí)候,就不會(huì)初始化兩次實(shí)例方法和屬性,避免組合繼承的缺點(diǎn)
es6 extends繼承,ES5中的繼承,實(shí)質(zhì)上是先創(chuàng)建子類上的this,然后再將父類方法添加到this上,es6則是先創(chuàng)建父類的實(shí)例方法(必須調(diào)用super),然后在用子類構(gòu)造函數(shù)修改this。沒(méi)有調(diào)用super,是沒(méi)有this的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容