前端面試題2.0

原型

構造函數(shù) 睬关,是一種特殊的方法。主要用來在創(chuàng)建對象時初始化對象淮捆。每個構造函數(shù)都有prototype(原型)屬性

每個函數(shù)都有prototype(原型)屬性后室,這個屬性是一個指針砚哆,指向一個對象,

這個對象的用途是包含特定類型的所有實例共享的屬性和方法屑墨,即這個原型對象是用來給實例共享屬性和方法的躁锁。

而每個實例內(nèi)部都有一個指向原型對象的指針。

閉包

簡單來說就是函數(shù)嵌套函數(shù)卵史,內(nèi)部函數(shù)引用來外部函數(shù)的變量战转,從而導致來垃圾回收機制沒有生效,變量被保存來下來以躯。

也就是所謂的內(nèi)存泄漏槐秧,然后由于內(nèi)存泄漏又會導致你項目逐漸變得卡頓等等問題。因此要避免內(nèi)存泄漏忧设。

原型鏈

提到原型鏈就不得不提原型的繼承刁标,繼承的完美實現(xiàn)方案是借助寄生組合繼承,主要實現(xiàn)原理

PersonB.prototype = Object.create(PersonA.prototype)實現(xiàn)來繼承PersonA的原型

當我們通過new關鍵字實例化的對象身上就有了PersonB自身的屬性和方法址晕,也有了PersonA的原型方法

當實例化對象調(diào)用某個方法時會先在自身和原型上查找膀懈,然后是在_proto_上一層層查找,這種方式就是原型鏈谨垃。

vuex

Vuex 是一個專為 Vue.js 應用程序開發(fā)的狀態(tài)管理模式启搂。它采用集中式存儲管理應用的所有組件的狀態(tài)

并以相應的規(guī)則保證狀態(tài)以一種可預測的方式發(fā)生變化。

state:Vuex 使用單一狀態(tài)樹——是的刘陶,用一個對象就包含了全部的應用層級狀態(tài)胳赌。

mutation:更改 Vuex 的 store 中的狀態(tài)的唯一方法是提交 mutation

action: action 提交的是 mutation,而不是直接變更狀態(tài)匙隔。action 可以包含任意異步操作疑苫。

getter: 相當于Vue中的computed計算屬性

vue-router

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成牡直,讓構建單頁面應用變得易如反掌

<router-link>和<router-view>和<keep-alive>

深拷貝淺拷貝

深拷貝:

通過利用JSON.parse(JSON.stringify(Object))來達到深拷貝的目的

但是JSON深拷貝的缺點是undefined和function還有symbol類型是無法進行深拷貝的

如有需要可以自己手動封裝函數(shù)來達到目的

淺拷貝:

通過ES6新特性Object.assign()與擴展運算符來達到淺拷貝的目的

Vue通信

第一種:props和$emit

第二種:中央事件總線 EventBus(基本不用)

第三種:vuex(狀態(tài)管理器)

第四種:$parent 和 $children

當然還有其他辦法缀匕,但是基本不常用

你在工作終于到那些問題,解決方法是什么

經(jīng)常遇到的問題就是Cannot read property ‘prototype’ of undefined

解決辦法通過瀏覽器報錯提示代碼定位問題碰逸,解決問題

Vue項目中遇到視圖不更新乡小,方法不執(zhí)行,埋點不觸發(fā)等問題

一般解決方案查看瀏覽器報錯饵史,查看代碼運行到那個階段未之行結束满钟,閱讀源碼以及相關文檔等

webpack配置入口出口

module.exports={

//入口文件的配置項

? ? entry:{},

//出口文件的配置項

? ? output:{},

//模塊:例如解讀CSS,圖片如何轉換胜榔,壓縮

? ? module:{},

//插件,用于生產(chǎn)模版和各項功能

? ? plugins:[],

//配置webpack開發(fā)服務功能

? ? devServer:{}

}

Vue原理

Vue是采用數(shù)據(jù)劫持配合發(fā)布者-訂閱者模式湃番,通過Object.defineProperty來()來劫持各個屬性的getter和setter

在數(shù)據(jù)發(fā)生變化的時候夭织,發(fā)布消息給依賴收集器,去通知觀察者吠撮,做出對應的回調(diào)函數(shù)去更新視圖尊惰。

具體就是:

MVVM作為綁定的入口,整合Observe,Compil和Watcher三者泥兰,通過Observe來監(jiān)聽model的變化

通過Compil來解析編譯模版指令弄屡,最終利用Watcher搭起Observe和Compil之前的通信橋梁

從而達到數(shù)據(jù)變化 => 更新視圖,視圖交互變化(input) => 數(shù)據(jù)model變更的雙向綁定效果鞋诗。

Vue路由守衛(wèi)有哪些膀捷,怎么設置,使用場景等

常用的兩個路由守衛(wèi):router.beforeEach 和 router.afterEach

每個守衛(wèi)方法接收三個參數(shù):

to: Route: 即將要進入的目標 路由對象

from: Route: 當前導航正要離開的路由

next: Function: 一定要調(diào)用該方法來 resolve 這個鉤子削彬。

在項目中全庸,一般在beforeEach這個鉤子函數(shù)中進行路由跳轉的一些信息判斷。

判斷是否登錄融痛,是否拿到對應的路由權限等等壶笼。

js是什么語言

js是一種運行在瀏覽器的腳本語言,這種語言主要的功能是可以制作出動態(tài)的頁面的效果

我們可以通過js+css+html布局來形成我們現(xiàn)在可以訪問展示的頁面

js語言是弱語言類型酌心, 因此我們在項目開發(fā)中當我們隨意更該某個變量的數(shù)據(jù)類型后

有可能會導致其他引用這個變量的方法中報錯等等拌消。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市安券,隨后出現(xiàn)的幾起案子墩崩,更是在濱河造成了極大的恐慌,老刑警劉巖侯勉,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹦筹,死亡現(xiàn)場離奇詭異,居然都是意外死亡址貌,警方通過查閱死者的電腦和手機铐拐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來练对,“玉大人遍蟋,你說我怎么就攤上這事∶荆” “怎么了虚青?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長螺男。 經(jīng)常有香客問我棒厘,道長纵穿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任奢人,我火速辦了婚禮谓媒,結果婚禮上,老公的妹妹穿的比我還像新娘何乎。我一直安慰自己句惯,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布支救。 她就那樣靜靜地躺著宗弯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搂妻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天辕棚,我揣著相機與錄音欲主,去河邊找鬼。 笑死逝嚎,一個胖子當著我的面吹牛扁瓢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播补君,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼引几,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了挽铁?” 一聲冷哼從身側響起伟桅,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叽掘,沒想到半個月后楣铁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡更扁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年盖腕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浓镜。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡溃列,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出膛薛,到底是詐尸還是另有隱情听隐,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布相叁,位于F島的核電站遵绰,受9級特大地震影響辽幌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椿访,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一乌企、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧成玫,春花似錦加酵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钦勘,卻和暖如春陋葡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背彻采。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工腐缤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肛响。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓岭粤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親特笋。 傳聞我的和親對象是個殘疾皇子剃浇,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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

  • css相關 1. 萬能居中 1.margin: 0 auto;水平2.text-align: center;水平3...
    寧_Yi閱讀 3,348評論 2 39
  • client,page和screen的區(qū)別猎物? clientX虎囚,clientY是觸摸點相對于viewport視口x,...
    change_22fa閱讀 1,649評論 1 1
  • 1.了解vue和react嗎?介紹一下霸奕。 vue和react都是主流的框架溜宽。vue : 腳手架vue-cli、路由...
    Love大豬蹄子嘚MM閱讀 530評論 0 0
  • 一质帅、CSS問題 1.flex布局 display:flex; 在父元素設置适揉,子元素受彈性盒影響,默認排成一行煤惩,如果...
    陳二狗想吃肉閱讀 581評論 0 9
  • css相關 1. 萬能居中 1.margin: 0 auto;水平 2.text-align: center;水平...
    chaocc閱讀 964評論 0 2