前端常見(jiàn)面試題

學(xué)習(xí)重點(diǎn)

學(xué)習(xí)資源

前端知識(shí)架構(gòu)

前端知識(shí)體系

面試準(zhǔn)備

題目

apply,call,bind 的區(qū)別及用法

apply 接收的是數(shù)組奸鸯,并會(huì)立即執(zhí)行

call 接收的是用逗號(hào)隔開(kāi)的參數(shù)辙谜,并會(huì)立即執(zhí)行

bind 接收的是用逗號(hào)隔開(kāi)的參數(shù)鉴扫,但是不會(huì)立即執(zhí)行烦秩,而是返回一個(gè)新的函數(shù)

Http的狀態(tài)碼以及意義

1開(kāi)頭 代表請(qǐng)求已被接受狞贱,需要繼續(xù)處理

1)狀態(tài)碼100 表示服務(wù)器已接收請(qǐng)求頭刻获,正在等待接下來(lái)的請(qǐng)求,或者如果請(qǐng)求已經(jīng)完成瞎嬉。

2)狀態(tài)碼101 表示服務(wù)器已理解客戶端請(qǐng)求蝎毡,通知客戶端采用不同的協(xié)議來(lái)完成這個(gè)請(qǐng)求。

3)狀態(tài)碼102 表示服務(wù)器已經(jīng)收到并正在處理請(qǐng)求氧枣,但無(wú)響應(yīng)可用沐兵。

2開(kāi)頭 (請(qǐng)求成功)表示成功處理了請(qǐng)求的狀態(tài)代碼

1)狀態(tài)碼200表示響應(yīng)成功

2)狀態(tài)碼202表示接受請(qǐng)求

3)狀態(tài)碼204表示請(qǐng)求成功但無(wú)資源返回

3開(kāi)頭 (請(qǐng)求被重定向)表示要完成請(qǐng)求,需要進(jìn)一步操作便监。 通常扎谎,這些狀態(tài)代碼用來(lái)重定向。

1)狀態(tài)碼301表示永久性重定向烧董,資源URI已更新

2)狀態(tài)碼302表示臨時(shí)性重定向毁靶,本次使用新URI

3)狀態(tài)碼304表示原來(lái)緩存的文檔可以繼續(xù)使用

4開(kāi)頭 (請(qǐng)求錯(cuò)誤)這些狀態(tài)代碼表示請(qǐng)求可能出錯(cuò),妨礙了服務(wù)器的處理解藻。

1)狀態(tài)碼400表示請(qǐng)求錯(cuò)誤老充,請(qǐng)求報(bào)文中存在語(yǔ)法錯(cuò)誤葡盗,URL 可能拼寫錯(cuò)誤

2)狀態(tài)碼403表示禁止請(qǐng)求螟左,請(qǐng)求被服務(wù)器拒絕

3)狀態(tài)碼404表示無(wú)資源啡浊,服務(wù)器上無(wú)法找到請(qǐng)求的資源

vue的生命周期

beforeCreate(創(chuàng)建前) 在數(shù)據(jù)觀測(cè)和初始化事件還未開(kāi)始

created(創(chuàng)建后)完成數(shù)據(jù)觀測(cè),屬性和方法的運(yùn)算胶背,初始化事件巷嚣,$sel屬性還沒(méi)有顯示出來(lái)

beforeMount(載入前)在掛載開(kāi)始之前被調(diào)用,相關(guān)的render函數(shù)首次被調(diào)用钳吟,實(shí)列已完成以下的配置廷粒,編譯模板,吧data里面的數(shù)據(jù)和模板生成html红且,注意此時(shí)還沒(méi)有掛載html到頁(yè)面上坝茎。

mounted(載入后)在el被新創(chuàng)建的vm.$el替換,并掛載到實(shí)列上去之后調(diào)用暇番,實(shí)列已完成以下配置嗤放,用上面編譯好的html內(nèi)容替換el屬性指向的DOM對(duì)象,完成模板中的html渲染到html頁(yè)面中壁酬,此過(guò)程中進(jìn)行ajax交互

beforeUpdate(更新前)在數(shù)據(jù)更新之前調(diào)用次酌,發(fā)生在虛擬DOM重新渲染和打補(bǔ)丁之前可以在該鉤子中進(jìn)一步的更改狀態(tài),不會(huì)觸發(fā)附加的重渲染過(guò)程

updated(更新后)在由于數(shù)據(jù)更改導(dǎo)致的虛擬DOM重新渲染和打補(bǔ)丁之后調(diào)用舆乔,調(diào)用時(shí)岳服,組件DOM已經(jīng)更新,所以可以執(zhí)行依賴于DOM的操作希俩,然而在大多數(shù)情況下吊宋,應(yīng)該避免在此期間更改狀態(tài),因?yàn)檫@可能會(huì)導(dǎo)致更新無(wú)限循環(huán)颜武,該鉤子在服務(wù)器端渲染期間不被調(diào)用贫母。

beforeDestroy(銷毀前)在實(shí)列銷毀之后調(diào)用,實(shí)列任然完全可用

destroyed(銷毀后)在實(shí)列銷毀之后調(diào)用盒刚,調(diào)用后腺劣,所有的事件監(jiān)聽(tīng)器會(huì)被移除,所有的子實(shí)列也會(huì)被銷毀因块,該鉤子在服務(wù)端渲染期間不被掉用橘原。

什么是vue的生命周期

Vue實(shí)列從創(chuàng)建到銷毀的過(guò)程,就是生命周期涡上,從開(kāi)始創(chuàng)建趾断,初始化數(shù)據(jù),編譯模板吩愧,掛載Dom—>渲染芋酌,更新—渲染,銷毀等一系列過(guò)程雁佳,稱之為Vue的生命周期脐帝。

Vue生命周期的作用是什么

他的生命周期中有多個(gè)事件鉤子同云,讓我們?cè)诳刂普麄€(gè)Vue實(shí)列的過(guò)程時(shí)更容易形成好的邏輯

vue生命周期總共有幾個(gè)階段

他可以分為8個(gè)階段,創(chuàng)建前后堵腹,載入前后炸站,更新前后,銷毀前后疚顷,

第一次頁(yè)面加載會(huì)觸發(fā)那幾個(gè)鉤子

會(huì)觸發(fā)下面這幾個(gè)beforeCreate旱易,created,beforeMount腿堤,mounted

DOM渲染在那個(gè)周期中就已經(jīng)完成

DOM渲染在mounted中就已經(jīng)完成了

父組件與子組件傳值

父組件傳給子組件:子組件通過(guò)props方法接受數(shù)據(jù)

子組件傳給父組件:$emit方法傳遞參數(shù)

非父子組件間的數(shù)據(jù)傳遞阀坏,兄弟組件傳值

eventBus,就是創(chuàng)建一個(gè)事件中心笆檀,相當(dāng)于中轉(zhuǎn)站全释,可以用它來(lái)傳遞事件和接受事件,項(xiàng)目比較小時(shí)误债,用這個(gè)比較合適浸船。

Vue的路由實(shí)現(xiàn),hash模式寝蹈,和history模式

hash模式:在瀏覽器中符號(hào)#李命,#以及#后面的字符稱之為hash,用window.location.hash讀取箫老,特點(diǎn)封字,hash雖然在URL中,但不被包含在HTTP請(qǐng)求中耍鬓,用來(lái)指導(dǎo)瀏覽器動(dòng)作阔籽,對(duì)服務(wù)端安全無(wú)用,hash不會(huì)重加載頁(yè)面

hash模式下牲蜀,僅 hash符號(hào)之前的內(nèi)容會(huì)被包含在請(qǐng)求中笆制,如http://www.xxx.com,因此對(duì)于后端來(lái)說(shuō)涣达,即使沒(méi)有做到對(duì)路由的全覆蓋在辆,也不會(huì)返回404錯(cuò)誤。

history模式: history采用HTML5的新特性;且提供了兩個(gè)新方法: pushState () ,

replaceState ()可以對(duì)瀏覽器歷史記錄棧進(jìn)行修改度苔,以及popState事件的監(jiān)聽(tīng)到狀態(tài)變更匆篓。history模式下,前端的URL必須和實(shí)際向后端發(fā)起請(qǐng)求的URL一致寇窑,如

http://www.xxx.com/items/id鸦概。后端如果缺少對(duì)/items/id 的路由處理,將返回404錯(cuò)誤甩骏。

vue路由的鉤子函數(shù)

首頁(yè)可以控制導(dǎo)航跳轉(zhuǎn)窗市,beforeEach先慷,afterEach等,一般用于頁(yè)面title的修改谨设。一些需要登錄才能調(diào)整頁(yè)面的重定向功能。

beforeEach主要有3個(gè)參數(shù)to,from,next:

to: route即將進(jìn)入的目標(biāo)路由對(duì)象缎浇,

from: route當(dāng)前導(dǎo)航正要離開(kāi)的路由

next: function一定要調(diào)用該方法resolve這個(gè)鉤子扎拣。執(zhí)行效果依賴next方法的調(diào)用參數(shù)∷囟澹可以控制網(wǎng)頁(yè)的跳轉(zhuǎn)二蓝。

vue如何自定義一個(gè)過(guò)濾器?

<divid="app"><inputtype="text"v-model="msg"/>{{msgl capitalize }}</div>

var vm=new vue({el : "#app" ,data: {msg : ''},filters: {capitalize: function (value) {if ( !value) return ''value = value.tostring()return value.charAt(0).toUppercase() + value.slice(1)}}})

全局定義過(guò)濾器

vue.filter( 'capitalize', function (value) {if ( !value) return ''value = value.tostring()return value.charAt(0).touppercase() + value.slice(1)})

1.css只在當(dāng)前組件起作用

答:在style標(biāo)簽中寫入scoped即可例如:<style scoped> </style>

2.v-if 和v-show區(qū)別

答: v-if按照條件是否渲染,v-show是display的block或none;

3.$route和$router的區(qū)別

答: $route是"路由信息對(duì)象”,包括path指厌,params刊愚,hash,query踩验,fullPath鸥诽,matched,name等路由信息參數(shù)。而$router是"路由實(shí)例"對(duì)象包括了路由的跳轉(zhuǎn)方法箕憾,鉤子函數(shù)等牡借。

4.vue.js的兩個(gè)核心是什么?

答:數(shù)據(jù)驅(qū)動(dòng)、組件系統(tǒng)

5.vue幾種常用的指令

答: v-for 袭异、 v-if 钠龙、 v-bind、v-on御铃、v-show碴里、v-else

9.什么是vue的計(jì)算屬性?

答:在模板中放入太多的邏輯會(huì)讓模板過(guò)重且難以維護(hù),在需要對(duì)數(shù)據(jù)進(jìn)行復(fù)雜處理上真,且可能多次使用的情況下咬腋,盡量采取計(jì)算屬性的方式。好處:①使得數(shù)據(jù)處理結(jié)構(gòu)清晰;②依賴于數(shù)據(jù)睡互,數(shù)據(jù)更新帝火,處理結(jié)果自動(dòng)更新;③計(jì)算屬性內(nèi)部this指向vm實(shí)例;④在template調(diào)用時(shí),直接寫計(jì)算屬性名即可;⑤常用的是getter方法湃缎,獲取數(shù)據(jù)犀填,也可以使用set方法改變數(shù)據(jù);⑥相較于methods,不管依賴的數(shù)據(jù)變不變,methods都會(huì)重新計(jì)算嗓违,但是依賴數(shù)據(jù)不變的時(shí)候computed從緩存中獲取九巡,不會(huì)重新計(jì)算。

11.怎么定義vue-router的動(dòng)態(tài)路由?怎么獲取傳過(guò)來(lái)的值

答:在router目錄下的index.js文件中蹂季,對(duì)path 屬性加上/:id冕广,使用router對(duì)象的params.id 獲取疏日。

2、使用Vue的好處

vue兩大特點(diǎn):響應(yīng)式編程撒汉、組件化

vue的優(yōu)勢(shì):輕量級(jí)框架沟优、簡(jiǎn)單易學(xué)、雙向數(shù)據(jù)綁定睬辐、組件化挠阁、視圖、數(shù)據(jù)和結(jié)構(gòu)的分離溯饵、虛擬DOM侵俗、運(yùn)行速度快

什么是異步:

當(dāng)前一個(gè)任務(wù)被執(zhí)行時(shí),不會(huì)等待任務(wù)執(zhí)行完成后就去執(zhí)行下一個(gè)任務(wù)丰刊,等前一個(gè)任務(wù)執(zhí)行完成后隘谣,將去執(zhí)行其返回的回調(diào)函數(shù),這是異步操作

為什么要用異步:

js是單線程的啄巧,因此必須等前一個(gè)任務(wù)完成后寻歧,后一個(gè)任務(wù)才會(huì)被執(zhí)行。因此當(dāng)執(zhí)行一段耗時(shí)的程序時(shí)秩仆,會(huì)影響整個(gè)程序的執(zhí)行熄求,異步的方法就是為了解決這個(gè)問(wèn)題钮呀。

3.Promise

Promise是es6提出的異步編程的一種解決方案贮折。

Promise 對(duì)象有三種狀態(tài):

pending: 初始狀態(tài),既不是成功嚎朽,也不是失敗狀態(tài)逾苫。

fulfilled: 意味著操作成功完成卿城。

rejected: 意味著操作失敗。

promise的狀態(tài)只能從pending變成fulfilled铅搓,和pending變成rejected瑟押,狀態(tài)一旦改變,就不會(huì)再改變星掰,且只有異步操作的結(jié)果才能改變promise的狀態(tài)多望。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市氢烘,隨后出現(xiàn)的幾起案子怀偷,更是在濱河造成了極大的恐慌,老刑警劉巖播玖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椎工,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)维蒙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門掰吕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人颅痊,你說(shuō)我怎么就攤上這事殖熟。” “怎么了斑响?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵菱属,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我恋捆,道長(zhǎng)照皆,這世上最難降的妖魔是什么重绷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任沸停,我火速辦了婚禮,結(jié)果婚禮上昭卓,老公的妹妹穿的比我還像新娘愤钾。我一直安慰自己,他們只是感情好候醒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布能颁。 她就那樣靜靜地躺著,像睡著了一般倒淫。 火紅的嫁衣襯著肌膚如雪伙菊。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天敌土,我揣著相機(jī)與錄音镜硕,去河邊找鬼。 笑死返干,一個(gè)胖子當(dāng)著我的面吹牛兴枯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播矩欠,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼财剖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了癌淮?” 一聲冷哼從身側(cè)響起躺坟,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乳蓄,沒(méi)想到半個(gè)月后瞳氓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年匣摘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了店诗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡音榜,死狀恐怖庞瘸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赠叼,我是刑警寧澤擦囊,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站嘴办,受9級(jí)特大地震影響瞬场,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜涧郊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一贯被、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妆艘,春花似錦彤灶、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至汽煮,卻和暖如春搏熄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背暇赤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工心例, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人翎卓。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓契邀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親失暴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坯门,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的瀏覽器兼容問(wèn)題逗扒?如何區(qū)分HTML和HTML5古戴?新特性繪畫(huà) can...
    郝晨光閱讀 3,219評(píng)論 1 35
  • Vue路由的實(shí)現(xiàn)原理 路由這個(gè)概念最初是由后端提出來(lái)的,在我們沒(méi)有SPA單頁(yè)面應(yīng)用之前矩肩,使用的一直都是后端路由现恼,根...
    郝晨光閱讀 1,928評(píng)論 0 19
  • 1. keep-alive組件的作用 為什么使用keep-alive?在Vue中,我們使用component內(nèi)置...
    郝晨光閱讀 2,563評(píng)論 0 29
  • 1. keep-alive組件的作用 1.為什么使用keep-alive叉袍?在Vue中始锚,我們使用component...
    b491fe9a99d7閱讀 371評(píng)論 0 3
  • 久違的晴天,家長(zhǎng)會(huì)喳逛。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí)瞧捌,離放學(xué)已經(jīng)沒(méi)多少時(shí)間了。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)润文。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,523評(píng)論 16 22