當前位置:首頁 » 網頁前端 » web開發面試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web開發面試

發布時間: 2023-07-05 15:12:04

1. 前端面試常見問題——Web篇

1、IE瀏覽器內核:Trident內核,也是俗稱的IE內核;
2、Chrome瀏覽器內核:統稱為Chromium內核或Chrome內核,以前是Webkit內核,現在是Blink內核;
3、Firefox瀏覽器內核:Gecko內核,俗稱Firefox內核;
4、Safari瀏覽器內核:Webkit內核;
5、Opera瀏覽器內核:最初是自己的Presto內核,後來是Webkit,現在是Blink內核;
6、360瀏覽器、獵豹瀏覽器內核:IE+Chrome雙內核;
7、搜狗、遨遊、QQ瀏覽器內核: Trident(兼容模式)+Webkit(高速模式)﹔
8、網路瀏覽器、世界之窗內核:IE內核;
9、2345瀏覽器內核:以前是IE內核,現在也是IE+Chrome雙內核;

把不同路由對應的不同內容掌握在前端,如vue中的vue-router、react的ReactRouter等。出現在單頁面應用中,頁面中公共部分不變,只改變部分內容的使用。路由切換時根據不同的路由動態載入不同的組件,不刷新頁面。
優點 :實現前後端的分離,緩解伺服器壓力,不需要每次從伺服器獲取,快速展現給用戶,用戶體驗更好。

見於多頁面應用中。每次都向後台伺服器發出請求,伺服器響應請求,在後台拼接html文件傳給前端顯示, 返回不同的頁面,瀏覽器會刷新頁面。

2. Web前端企業面試題

答:

一、display和visibility的相同與不同點

1、相同點:display和visibility都有講元素隱藏的意思

2、不同點:display是元素隱藏,隱藏的元素不佔文檔流

而visibility隱藏的元素仍然占文檔流

二、display和visibility的屬性值

1、display

2、visibility


答:

在開發過程中經常需要循環遍歷數組或者對象,使用最多的方法 forEach、for…in 、 for…of ,整理一下他們的異同點

for循環

其實除了這三種方法以外還有一種最原始的遍歷,自Javascript誕生起就一直用的 就是for循環,它用來遍歷數組

for循環中可以使用return、break等來中斷循環

結果:

forEach

對數組的每一個元素執行一次提供的函數(不能使用return、break等中斷循環),不改變原數組,無返回值undefined。

輸出結果:

for…in

循環遍歷的值都是數據結構的鍵值

總結一句: for in也可以循環數組但是特別適合遍歷對象

結果:

for…of

它是ES6中新增加的語法,用來循環獲取一對鍵值對中的值

循環一個數組

循環一個普通對象(報錯)

答:

px:像素(Pixel),相對長度單位。像素px是相對於顯示器屏幕解析度而言的 。--即解析度不同的機型當前對應的距離可能發生變化。(1Inches=xPx)。

所以相對於同一機型來說是一個絕對的長度單位。


em:是相對長度單位。相對於當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對於瀏覽器的默認字體尺寸

以其父級元素為基準來變化長度。所以其演算法不是一個固定的值。


rem:是CSS3新增的一個相對單位(root em,根em)

那麼其好用在用可以直接設置HTML的font-size,然後在其子類都是以這個大小為基準變化的值。

在移動設備上,我們常常設置

此方式的目的是為了將當前屏幕(PC)解析度的px轉化成手機端的px,讓px在手機上能夠兼容此方式。


因此,此時看見的12px與PC端的12px無異。但是,如果不寫著個meta的話,那麼,瀏覽器會一直以PC的視圖來決定手機端的px的大小,讓視圖看起來變小了很多。

那麼,響應式頁面則經常配合媒體查詢media 來設置不同解析度下手機的各種不同的配置機構,然後根據父級來變化所有的相對長度。


基礎篇

1.shift

// 刪除原數組的第一項,並返回刪除元素的值,如果數組為空則返回undefined

2.unshift

// 將參數添加到原數組開頭,並返回數組的長度

//註:此方法在ie6.0下

// 測試的返回值始終為undefined,在firefox下測試的返回值為7,所以此方法不可靠

// 一般需要用返回值時可用splice代替

3.pop

// 刪除原數組的最後一項,並返回刪除元素的值;如果數組為空則返回undefined

4.push

// 將參數添加到原數組末尾,並返回數組的長度

5.concat

// 返回一個新數組,是將參數添加到原數組中構成的

6.splice

7.reverse

8.sort(orderfunction)

9.slice(start,end)

10.join(separator)

11.indexOf

12.lastIndexOf

13. Array.isArray()

14. Array.toString()


進階篇

1.forEach

是最為常用的情景,它至於遍歷,可以在獲取當前數據項的前提下,對數據進行修改。它沒有返回值。理解起來也是最容易的。

2.map

map的本意就是映射,也就是將一個值從一種形式映射到另一種形式,比如將key映射到value。它的每一次遍歷都會有一個返回值。這些返回值組合成最終的結果數組。事實就是如此



forEach和map對比

相同點

1)都是循環遍歷數組中的每一項;

2)forEach()和map()匿名函數的參數相同,參數分別是item(當前每一項)、index(索引值)、arr(原數組);

3)this都是指向調用方法的數組;

4) 只能遍歷數組;


不相同點

1)map()創建了新數組,不改變原數組;forEach()可以改變原數組。

2)遇到空缺的時候map()雖然會跳過,但保留空缺;forEach()遍歷時跳過空缺,不保留空缺。

3)map()按照原始數組元素順序依次處理元素;forEach()遍歷數組的每個元素,將元素傳給回調函數。


3.filter

它致力於從已有的數組中篩選出符合一定條件的數據項,最後的返回值是所有符合條件的數據項構成的數組。它不會修改原來的數組。記住,它的立足點就是篩選。也僅僅是篩選。還有一點需要注意:每一次遍歷都會有一個返回值,它的類型是布爾類型。返回值只有是true,當前遍歷項才會被篩選中。不要試圖在filter中去修改原始數組。

理解: 就是在一堆數據裡面去篩選你需要的數據 或者 剔除你不需要的數據


4.find()

返回通過測試的數組的第一個元素的值,

理解:假如你去一個一群人的地方去找人 你說我找xxb 他要是在那裡就找到 不在那裡就是undefined

在第一次調用 callback 函數時會確定元素的索引范圍,因此在 find 方法開始執行之後添加到數組的新元素將不會被 callback 函數訪問到。如果數組中一個尚未被callback函數訪問到的元素的值被callback函數所改變,那麼當callback函數訪問到它時,它的值是將是根據它在數組中的索引所訪問到的當前值。被刪除的元素仍舊會被訪問到。

語法

array.find(function(value, index, arr),thisValue)

value:必須,代表當前元素,其他四個參數都是可選,index代表當前索引值,arr代表當前的數組,thisValue代表傳遞給函數的值,一般用this值,如果這個參數為空,undefined會傳遞給this值

返回值:返回符合測試條件的第一個數組元素的值,如果沒有符合條件的則返回undefined。

擴展: findIndex()方法的用法與find()方法非常類似,返回第一個符合條件的數組成員的位置,如果所有成員都不符合條件,則返回-1。自己try吧

5.every

理解: 這個就像 上課了 老師說 昨天布置的作業 只要有一個人沒有寫完 今天就不講課 然後挨個檢查 當檢查到有一個沒有寫完的時候 就不檢查了 返回 不講課了(false)


6.some

理解: 相當於在一個數組裡面找你想要的那個數 找到了 就返回true 找不到就返回false


7.rece

它這個方法是接收一個函數作為累加器,將數組中的值(從左向右)開始合並,最總為一個值 然後返回出來,callback

他可以傳四個參數:

1,previousValue:上一次調用回調返回的值,或者是提供的初始值(initialValue)

2,currentValue:數組中當前被處理的元素

3,index:不啰嗦,自己顧名思義去吧

4,array:返回調用rece的數組


彩蛋: 這里附上前幾天某某人比較喜歡的切割字元串的方法

substring() 和 substr()

相同點: 如果只是寫一個參數,兩者的作用都一樣:都是是截取字元串從當前下標以後直到字元串最後的字元串片段。

不同點: 第二個參數

substr(startIndex, lenth) // 第二個參數是截取字元串的長度(從起始點截取某個長度的字元串);

substring(startIndex, endIndex) // 第二個參數是截取字元串最終的下標 (截取2個位置之間的字元串,『含頭不含尾')。

1:在使用vue框架的過程中,我們經常需要給一些數據做一些初始化處理,這時候我們常用的就是在created與mounted選項中作出處理。


首先來看下官方解釋,官方解釋說created是在實例創建完成後唄立即調用。在這一步,實例已完成以下配置:數據觀測 (data observer),屬性和方法的運算,watch/event 事件回調。然而,掛載階段還沒開始,$el 屬性目前不可見。


這話的意思我覺得重點在於說掛架階段還沒開始,什麼叫還沒開始掛載,也就是說,模板還沒有被渲染成html,也就是這時候通過id什麼的去查找頁面元素是找不到的。下面看下實例來證明。

所以,一般creadted鉤子函數主要是用來初始化數據。


2:mounted鉤子函數一般是用來向後端發起請求拿到數據以後做一些業務處理。官方解釋如下:

el 被新創建的 vm.$el 替換,並掛載到實例上去之後調用該鉤子。如果 root 實例掛載了一個文檔內元素,當 mounted 被調用時 vm.$el 也在文檔內。

這意思是該鉤子函數是在掛在完成以後也就是模板渲染完成以後才會被調用。下面看實例

下面是結果

nihao

取到了值,這說明這時候vue模板已經渲染完畢。因此,Dom操作一般是在mounted鉤子函數中進行的

computed:{} 計算屬性,什麼是計算屬性呢,我個人理解就是對數據進行一定的操作,可以包含邏輯處理操作,對計算屬性中的數據進行監控。計算屬性是基於它的以來進行更新的,只有在相關依賴發生改變時側能更新變化,以函數的形式返回結果。然後可以像綁定普通屬性一樣在模板中綁定計算屬性。

總結:
通常created使用的次數多,而mounted通常是在一些插件的使用或者組件的使用中進行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常會有這一步,而如果你寫入組件中,你會發現在created中無法對chart進行一些初始化配置,一定要等這個html渲染完後才可以進行,那麼mounted就是不二之選。
methods:{}中的方法都需要主動去觸發,比如點擊click之類的
而created(){}、mounted(){}、裡面的代碼都是自動去執行的,即vue生命周期到了哪一步就直接去執行對應鉤子函數裡面的代碼了,無需手動去執行
created中主要放初始化獲取數據之類,mounted()中掛載到具體的DOM節點

computed:{} 計算屬性,什麼是計算屬性呢,我個人理解就是對數據進行一定的操作,可以包含邏輯處理操作,對計算屬性中的數據進行監控。計算屬性是基於它的以來進行更新的,只有在相關依賴發生改變時側能更新變化,以函數的形式返回結果。然後可以像綁定普通屬性一樣在模板中綁定計算屬性。

mounted 是生命周期鉤子,vue的生命周期中一個實例的mounted只會運行一次。mounted在vue的渲染模板掛載到$el元素上才會調用,很顯然你export的時候el都么有自然不會運行mounted鉤子函數了。
所有的方法都應該在methods里定義,然後在created或者mounted里 使用this調用方法,用這種方式實現初始化

6、Vue中組件之間的傳參方式有哪些方式?

Vue 組件傳參的八種方式總結

Vue 組件的使用不管是在平常工作還是在面試面試中,都是頻繁出現的。因此系統的梳理一下組件之間的傳參還是非常有必要的

一、props 傳參

子組件定義 props 有三種方式:

// 第一種數組方式

// 第二種對象方式

// 第三種對象嵌套對象方式

第三種對象默認支持 4 種屬性,並且都是非必填的。可以隨意使用


父組件傳參的倆種方式

第一種靜態屬性傳參

注意:

1、在不定義 props 類型的情況下 props 接受到的均為 String。

2、當 props 屬性指定為 Boolean 時,並且只有屬性 key 沒有值 value 時接受到的是 true


第二種動態屬性傳參

注意:

1、需要區分非簡寫形式傳入的值是對象,則會對應 props 中多個值

2、會保留傳入值的類型

3、如果是表達式則獲取到的是表達式的計算結果


二、attrs 和listeners

$attrs

$attrs 會獲取到 props 中未定義的屬性(class 和 style 屬性除外),支持響應式。常用的場景有倆種:

組件嵌套組件時可以使用 $attrs 來支持過多的屬性支持。比如 elementUI 的 table 組件。支持的屬性十幾個,而平常封裝的時候用的最多的也就一倆個。

屬性默認是添加在父組件上的,有時候想把多餘的屬性添加在子組件上(可以結合 inheritAttrs: false 屬性,讓父屬性不接受多餘的屬性)

$listeners 定義的事件都在子組件的根元素上,有時候想加到其他元素上。就可以使用 $listerners。它包含了父組件中的事件監聽器(除了帶有 .native 修飾符的監聽器)


三、$emit 通知

這里有一道考題: for 循環的時候如何拿到子組件的傳值和 for 中循環的值

答案有倆種,一是 $event, 二是 閉包。只是需要注意 $event 只能獲取到第一個值

四、v-model

這個其實是一種通過 emit,on 的組合方式。優點再於同步值方便,寫法優雅。下面三種寫法其實是一個意思


五、插槽

六、$refs, $root, $parent, $children

$root 獲取根組件

$parent 獲取父組件

$children 獲取子組件(所有的子組件,不保證順序)

$refs 組件獲取組件實例,元素獲取元素


七、project / inject

注意:注入的值是非響應的



八、Vuex

這個相當於單獨維護的一組數據,就不過多的說了。

watch,computed和methods的關系

1.watch和computed都是以Vue的依賴追蹤機制為基礎的 ,它們都試圖處理這樣一件事情:當某一個數據(稱它為依賴數據)發生變化的時候,所有依賴這個數據的「相關」數據「自動」發生變化,也就是自動調用相關的函數去實現數據的變動。

2.對methods:methods裡面是用來定義函數的,很顯然,它需要手動調用才能執行。而不像watch和computed那樣,「自動執行」預先定義的函數


watch和computed各自處理的數據關系場景不同

1. watch 擅長處理的場景: 一個數據影響多個數據

2. computed 擅長處理的場景: 一個數據受多個數據影響

watch用法 監聽下記haiZeiTuan_Name的值,會改變其他所有的值

結果:this.suoLong會變為 '橡膠海賊團索隆',以此類推

computed用法 監聽下記firstName,secName,thirdName的值,會改變luFei_Name的值

methods和computed的區別例子

注意兩次點擊computed返回的時間是相同的!!

1.兩次點擊methods返回的時間是不同的

2.注意兩次點擊computed返回的時間是相同的

【注意】為什麼兩次點擊computed返回的時間是相同的呢?new Date()不是依賴型數據 (不是放在data等對象下的實例數據) ,所以computed只提供了緩存的值,而沒有重新計算

只有符合:1.存在依賴型數據 2.依賴型數據發生改變這兩個條件 ,computed才會重新計算。

參考:http://www.cnblogs.com/penghuwan/p/7194133.html

答:https://codecat.blog.csdn.net/article/details/100031285

1、Promise

Promise 是非同步編程的一種解決方案,比傳統的解決方案——回調函數和事件——更合理和更強大,簡單地說,Promise好比容器,裡面存放著一些未來才會執行完畢(非同步)的事件的結果,而這些結果一旦生成是無法改變的


2、async await

async await也是非同步編程的一種解決方案,他遵循的是Generator 函數的語法糖,他擁有內置執行器,不需要額外的調用直接會自動執行並輸出結果,它返回的是一個Promise對象。

兩者的主要用法、語法就不贅述了,感興趣的同學可以自行查閱 es6中文文檔


兩者的區別

1、Promise的出現解決了傳統callback函數導致的「地域回調」問題,但它的語法導致了它向縱向發展行成了一個回調鏈,遇到復雜的業務場景,這樣的語法顯然也是不美觀的。而async await代碼看起來會簡潔些,使得非同步代碼看起來像同步代碼,await的本質是可以提供等同於」同步效果「的等待非同步返回能力的語法糖,只有這一句代碼執行完,才會執行下一句。

2、async await與Promise一樣,是非阻塞的。

3、async await是基於Promise實現的,可以說是改良版的Promise,它不能用於普通的回調函數。

簡單來看,這兩者除了語法糖不一樣外,他們解決的問題、達到的效果是大同小異的,我們可以在不同的應用場景,根據自己的喜好來選擇使用。

3. web前端初級面試要求

想要通過前端面試順利進入一線大廠成就高薪前端夢。那麼首先,我們得知道前端面試中,社招和校招究竟有啥區別?

對於前端開發來說,如果說社招更看重對前端技術體系的深入理解,以及解決問題的能力話,那校招更看重的其實是基本功和學習能力(或者說是潛力)。

但其實,無論是社招還是校招,面試的時候都會問到一些曾經操作過的項目,尤其是大廠,或者熱門高薪部門,面試官除必問的技術經驗外,也會對技術深度進行一個基礎的考核,那在這種情況下如何hold住大廠面試呢?

前端面試三要素:簡歷、個人介紹、技術能力。下面,就來分別聊一聊。

1、簡歷篩選關:

HR一般會去看簡歷中所提的技術棧是否匹配,怎麼看呢?我們可以抓住簡歷中的技術名詞,一般來說如果一點技術名詞都沒有提到,那麼大概有以下幾種可能:很水、很牛但概率很小、不會寫簡歷。所以,一部分人可能會因為簡歷的問題沒有了面試機會,這點是需要非常注意的。

2、個人介紹關:

通過了簡歷篩選階段,就真正到了面試環節。這時候一定要准粗賣首備好一段最多3分鍾的個人介紹。請注意,最多3分鍾!言簡意賅的說明自己的工作時間,擅長技術棧和自己的工作預期。

3、項目經驗表達:

對前端開發學習者而言,JS並不陌生,但大廠的JS面試題卻總是顯得很「陌生」,怎麼樣能夠真正做到深入理解與高級應用?這不僅是面試過程中對前端求職者的要求,也是大多數前端開發者的痛點。

大廠面試中,面試官除了關注你的項目經驗外,還往往喜歡和面試者深入探討前端某些技術領域成體系的前端知識。比如:模塊化、岩數非同步解決方案、配緩網路、框架及原理、線程等,但在與面試官的正面battle中,求職者總會敗下陣來。

所以,建議大家在Web前端面試前一定要注重這三個方面的內容。注重了這些想找找到一份適合的Web前端開發工作並不是難事。

4. 應屆畢業生web前端面試自我介紹_前端開發工程師面試個人介紹

WEB前端是現在it行業是一件傷腦力和高報酬的工作,應屆 畢業 生去應聘此工作,最好能提前准備好 自我介紹 的說辭。以下是我為你整理的應屆畢業生web前端 面試 自我介紹,希望大家喜歡。

應屆畢業生web前端面試自我介紹篇1

考官好,我是計算機專業的面試者XXX,我此次應聘的職位是IT行業的軟體工程師,這份工作不僅與我的專業對口,同時也是我的特長與興趣所在。現在我就從以下三個方面介紹自己:

1)學習能力:我有較強的科研能力,能熟練的進行LINUX操作,並能使用VB,DELPHI等語言編程。能運用網頁三劍客Photoshop軟體進行相關工作。

2)實踐能力:我的專長是軟體開發,我希望能從事這方面的工作 經驗 ,並且我曾經發過多個系統,如人事檔案管理系統,工資管理系統等等。

3)交際能力:我的性格沉穩,能坐得住,對IT行業的工作,具有非常好的適應能力,而且為人謙和,具有很強的組織和協調能力,富有的事業心和責任感使我能夠面對任何困難和挑戰。

從以上的簡單自我介紹,我希望公司能給我一個展示自己能力的機會,讓我我可以學以致用,同時我也很欣賞XX公司的 企業 文化 與工作環境。我願意成為企業一員,為企業的發展貢獻自己的一份力量。我的職業生涯目標是,做一個既懂技術,又懂業務的復合型人才。

應屆畢業生web前端面試自我介紹篇2

本人熱衷計算機軟體開發行業,學習能力強,適應能力強,有責任心,擁有團隊合作開發精神,亦能獨立完成任務。現任某某軟體公司開發部經理,4年軟體開發管理經驗,熟練掌握delphi及c#.net兩門開發語言(winform),interbase及sqlserver資料庫,vss源代碼管理,具有良好的編程習慣和風格(xml標注,gui+設計等等),熟悉軟體架構及測試。本人有意向.net軟體工程師及項目管理方向發展,盼望與伯樂攜手共創事業!

應屆畢業生web前端面試自我介紹篇3

回首三年的大學校園生活生涯和 社會實踐 生活,有渴望、有追求、有成功也有失敗,我孜孜不倦,不斷地挑戰自我,充實自己,為實現人生的價值打下堅實的基礎。

在思想品德上,本人有良好道德修養,並有堅定的政治方向,我積極地向黨組織靠攏,使我對我們黨有可更為深刻的認識,並參加了入黨積極分子培訓班”的培訓。本人遵紀守法、愛護公共財產、關心和幫助他人,並以務實求真的精神熱心參與學校的公益宣傳和愛國活動。

在學習上,我熱愛自己的專業,還利用課余時間專修計算機專業知識,使我能輕松操作各種網路和辦公軟體。曾多次獲得學金,在書法和 體育運動 都獲得好成績。英語、電腦、普通話等方面的等級考試已達標。除了在專業知識方面精益求精外,平時我還涉獵了大量網路編程、網路管理與維護、網頁設計等知識。並且相信在以後理論與實際結合當中,能有更大提高。

在工作上,對工作熱情,任勞任怨,責任心強,具有良好的組織交際能力,和同學團結一致,注重配合其他學生幹部出色完成各項工作,得到了大家的一致好評。

在生活上,我最大的特點是誠實守信,熱心待人,勇於挑戰自我,時間觀念強,有著良好的生活習慣和正派作風。由於平易近人待人友好,所以一直以來與人相處甚是融洽,連續擔任了分院的乒協的秘書長一職。有廣泛 愛好 的我特別擅長於網頁設計和網站管理與維護方面。曾獨立完成一個中型網站的設計,以及大型綜合網站的策劃與修改工作。

身為平面設計專業的學生,我在修好學業的同時也注重於社會實踐。本著學以致用,實踐結合理論發揮。暑假期間我到XX網吧等大型網吧里工作,管理經驗與軟硬體維護得到了極大的積累。

三年的大學生活,使自己的知識水平、思想境界、工作能力等方面都邁上了一個新的台階。在這即將揮手告別美好大學生活、踏上社會征途的時候,我整軍待發,將以飽滿的熱情、堅定的信心、高度的責任感去迎接新的挑戰,攀登新的高峰。

>>>下一頁更多精彩“Web前端 面試題 目”

5. Web 前端面試

博客園整理了一下,有好的面試題歡迎大家發在評論區喲
1. 閉包
2. 數組去重
3. 原型和原型鏈
4. call,apply,bind三者的區別?
5. 請介紹常見的 HTTP 狀態碼(至少五個)
6. 深淺拷貝
7. 實現(5).add(3).minus(2)輸出6
8. null和undefined區別
9. MVC和MVVC?
10. Vue生命周期
11. Vue數據雙向綁定原理
12. Vue組件傳參
13. 說說各瀏覽器存在的兼容問題
14. router和route
15. active-class屬於Vue哪一個moles,有什麼作用
16. v-if和v-show
17. computed和watch有什麼區別
18.Vue 組件中 data 為什麼必須是函數
19. vue中子組件調用父組件的方法
20. vue中 keep-alive 組件的作用
21. vue中如何編寫可復用的組件?
22. Vue 如何去除url中的 #
23. Vue 中 key 的作用
24. Vue 中怎麼自定義指令
25. Vue 中怎麼自定義過濾器
26. NextTick 是做什麼的
27. Vue 組件 data 為什麼必須是函數
28. 計算屬性computed 和事件 methods 有什麼區別
29. scoped(死夠撲的)
30. vue如何獲取dom?
31. promise
32. vue常用指令有哪些
33.vue-loader是什麼?使用和用途?
34.css樣式局部化,如何讓css只在當前組件起作用?scss和stytus樣式穿透

閉包指有權訪問另一個函數中變數的函數,
MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
B站視頻: https://www.bilibili.com/video/BV1YJ411R7ap?from=search&seid=18157596230752413126

https://www.jianshu.com/p/9c3547450a52

https://search.bilibili.com/all?keyword=%E5%8E%9F%E5%9E%8B%E9%93%BE%20%E9%BB%91%E9%A9%AC

都是用來改變this指向的

call和apply都是function原型上的方法,每一個函數作為function的實例都可以調用這兩個方法,而這兩個方法都是用來改變this指向的

一般情況下this指向其調用者()

fun.call(thisArg,arg1,ary2,...)
主要作用可以實現繼承
調用函數,改變this指向

繼承

fun.apply(thisArg,[argsArray])

作用:調用函數,改變函數內部this指向
參數必須是數組
apply主要應用於藉助數學對象等

bind()方法不會調用函數,但可以改變函數內部this指向
fun.bind(thisArg,arg1,arg2,...)
thisArg:在fun函數運行時指定的this值
arg1,arg2:傳遞的其他參數
返回由指定的this值和初始化參數改造的原函數拷貝

call的性能要比apply好一些,尤其當傳遞參數超過3個,後期開發可多用call

時間測試

狀態碼是由 3 位數組成,第一個數字定義了響應的類別,且有五種可能取值:

1xx:指示信息–表示請求已接收,繼續處理。

2xx:成功–表示請求已被成功接收、理解、接受。

3xx:重定向–要完成請求必須進行更進一步的操作。

4xx:客戶端錯誤–請求有語法錯誤或請求無法實現。

5xx:伺服器端錯誤–伺服器未能實現合法的請求。

阮一峰: http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html

MVC 是後端中的概念

MVVC中 是前端概念

最終實現V和M數據的同步,因此開發者只需關注業務邏輯,不需要手動操作Dom,mvvm是vue的核心

這兩個不同的結構可以看出兩者的區別,他們的一些屬性是不同的。

active-class 屬於vue-router的樣式方法
當routerlink標簽被點擊時將會應用這個樣式

使用有兩種方法
routerLink標簽內使用

在使用時會有一個Bug
首頁的active會一直被應用
解決辦法
為了解決上面的問題,還需加入一個屬性exact,類似也有兩種方式:
在router-link中寫入exact

在路由js文件,配置active-class

還可以不用exact這種方法去解決,例如

首頁
路由中加入重定向

computed

computed是計算屬性,也就是計算值,它更多用於計算值的場景
computed具有緩存性,computed的值在getter執行後是會緩存的,只有在它依賴的屬性值改變之後,下一次獲取computed的值時重新調用對應的getter來計算
computed適用於計算比較消耗性能的計算場景
watch

watch更多的是[觀察]的作用,類似於某些數據的監聽回調,用於觀察props $emit或者本組件的值,當數據變化時來執行回調進行後續操作
無緩存性,頁面重新渲染時值不變化也會執行
小結

當我們要進行數值計算,而且依賴於其他數據,那麼把這個數據設計為computed
如果你需要在某個數據變化時做一些事情,使用watch來觀察這個數據變化。

去這里看一下​blog.csdn.net

vue-router 默認使用 hash 模式,所以在路由載入的時候,項目中的 url 會自帶 #。如果不想使用 #, 可以使用 vue-router 的另一種模式 history

new Router({
mode: 'history',
routes: [ ]
})

需要注意的是,當我們啟用 history 模式的時候,由於我們的項目是一個單頁面應用,所以在路由跳轉的時候,就會出現訪問不到靜態資源而出現 404 的情況,這時候就需要服務端增加一個覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態資源,則應該返回同一個 index.html 頁面

具體參考 官方API

參考 官方文檔-自定義指令

過濾器也同樣接受全局注冊和局部注冊

具體可參考官方文檔 深入響應式原理

我們可以將同一函數定義為一個 method 或者一個計算屬性。對於最終的結果,兩種方式是相同的

不同點:

讓css只在當前組件中起作用

6. web前端開發面試流程是怎樣的

首先投簡歷,等待hr通知面試,一般情況下先填資料,做測試題,接著開始第一面(一般問經你的個人情況,工作經歷等),資料已經交給技術,等一面通過之後接著二面,二面一般是技術面試,問你開發相關的技術問題(例如布局問題,js,框架之類的),有些公司還需要上機操作(寫一兩個頁面或者開發一個js方法等),有些公司是通過之後直接進行3面有些是改天再進行3面,3面一般就是項目經理或總經理問你一些各種各樣的問題(隨機應變就行,也有一些公司沒有這個環節),如果3面都過了,基本上就是面試成功了,接下來就是4面,也就是人事主管和你談工資待遇等問題了,這個談好之後就會告訴你什麼時候過來上班,要准備什麼東西,當然一般還會有正式的工作邀請函發到你的郵箱。如果沒有3面的公司,那人事這個環節就直接是3面了。
還有一些公司是一面之後等通知,通過的就通知你二面,然後再等通知,然後通過再三面(這樣的公司我一般不會等,太浪費時間)

7. web前端工程師面試自我介紹_web前端工程師面試自我介紹怎麼說

自我介紹 ,就是自己將自己介紹給他人或眾人的一種介紹方式。那麼web前端工程師 面試 時自我介紹應該怎麼說?以下是我為您整理的web前端工程師 面試自我介紹 內容,希望能幫到你。

web前端工程師面試自我介紹第一篇

我喜歡 籃球 和 乒乓球 ,曾擔任大學校籃球隊隊員。在籃球隊中深刻體會到在大家共同努力下擊敗對手的成就感!

對於計算機有著狂熱的喜愛,雖掌握軟體眾多,但對編程情有獨鍾!在每一次解決了問題後都有一種成就感!我喜歡這種感覺,讓我能沉迷於我的代碼的世界中!

愛好 程序設計,喜歡開發自已的小型產品,追求技術上的滿足感;穩固的架構,健壯的代碼,團結的合作,是我的不懈追求。

有良好的編程習慣,以及程序錯誤控制和解決能力,我愛程序員這個崗位,當每天敲著代碼,聽著音樂,是很快樂的

用心工作,用心生活!我可能不是最好的,最合適的,我覺得我是最有潛力的!2016,一起加油!

web前端工程師面試自我介紹第二篇(英文)

good morning, my name is jack, it is really a great honor to have this opportunity for a interview, i would like to answer whatever you may raise, and i hope i can make a good performance today, eventually enroll in this prestigious university in september. now i will introce myself briefly,i am 21 years old,born in heilongjiang province ,northeast of china,and i am curruently a senior student at beijing xx uni.my major is packaging engineering.and i will receive my bachelor degree after my graation in june.in the past 4 years,i spend most of my time on study,i have passed cet4/6 with an ease. and i have acquired basic knowledge

of packaging and publishing both in theory and in practice. besides, i have attend several packaging exhibition hold in beijing, this is our advantage study here, i have taken a tour to some big factory and company. through these i have a deeply understanding of domestic packaging instry. compared to developed countries such as us, unfortunately, although we have made extraordinary progress since 1978,our packaging instry are still underdeveloped, mess, unstable, the situation of employees in this field are awkard. but i have full confidence in a bright future if only our economy can keep the growth pace still. i guess you maybe interested in the reason itch to law, and what is my plan ring graate study life, i would like to tell you that pursue law is one of my lifelong goal,i like my major packaging and i won't give up,if i can pursue my master degree here i will combine law with my former ecation. i will work hard in thesefields ,patent ,trademark, right, on the base of my years study in department of p&p, my character? i cannot describe it well, but i know i am optimistic and confident. sometimes i prefer to stay alone, reading, listening to music, but i am not lonely, i like to chat with my classmates, almost talk everything ,my favorite pastime is valleyball,playing cards or surf online. through college life,i learn how to balance between study and entertainment. by the way, i was a actor of our amazing drama club. i had a few glorious memory on stage. that is my pride.

web前端工程師面試自我介紹第三篇(英文)

my name is zhao wanjun. wanjun is my given name. wan means sweet and jun means person, so my name means a sweet-tempered girl. i actually am! but you can call me june, for your convenience, j-u-n-e, IT's similar to my chinese name jun. i am from enping, a small cITy in the southwest of guangdong province, near hongkong and macao. maybe you have never been there before, IT's well known for the hot springs there.

in 2014, i got the highest score in the college entrance examinations in my cITy and entered zhongshan universITy. my major is computer science. my gpa ranks in the top 40% among all students, but i have stronger c++ programming skills than many others. also, i was the first one to learn java in my class.

i was chosen by a teacher of mine to participate in his project. the project was about a lan chat room, and i developed the instant messaging system in IT. i was the only female student in this project team.

besides study and the project, i worked in the student union for two years, first year as a member, next year promoted to be the general secretary. my colleagues describe me as a reliable and considerate person.

ibm is top on my job hunting list for of the reasons you hear every day. i look forward to joining a famous company as IT means good training, good pay, and good people to work wITh, just like you gentlemen!

technical support engineer is my ideal job because i have both a technical background and the abilITy to deal wITh clients. also, traveling isn’t a problem although i am a woman.

>>>下一頁更多精彩「求 職自我 介紹」