摘要:隨機數(shù)參數(shù)中設(shè)置等。有哪幾種導(dǎo)航鉤子三種,第一種是全局導(dǎo)航鉤子,作用跳轉(zhuǎn)前進行判斷攔截。在階段,實例的數(shù)據(jù)對象有了,還沒有。載入前后在階段,實例的和都初始化了,但還是掛載之前為虛擬的節(jié)點,還未替換。更新前后當變化時,會觸發(fā)和方法。
最近面試了 很多1-2年的前端,網(wǎng)上手機了一些 問題和答案,發(fā)出來 希望能幫助到大家~
CSS篇
IOS手機瀏覽器字體齒輪
修改-webkit-font-smoothing屬性
結(jié)果是:-webkit-font-smoothing: none: 無抗鋸齒-webkit-font-smoothing: antialiased | subpixel-antialiased | default: 灰度平滑
怎么讓Chrome支持小于12px 的文字?
我們的做法是:
針對谷歌瀏覽器內(nèi)核,加webkit前綴,用transform:scale()這個屬性進行縮放! p span {font-size:10px;-webkit-transform:scale(0.8);display:block;}
CSS預(yù)處理器(Sass/Less/Postcss)
CSS預(yù)處理器的原理: 是將類 CSS 語言通過 Webpack 編譯 轉(zhuǎn)成瀏覽器可讀的真正 CSS。
在這層編譯之上,便可以賦予 CSS 更多更強大的功能,常用功能:
嵌套 變量 循環(huán)語句 條件語句 自動前綴 單位轉(zhuǎn)換 mixin復(fù)用
JS
網(wǎng)站js和css如何壓縮?有哪些方法?
概念性知識點:
http請求問題,HTTP請求信息由那3部分組成?
請求方法URI協(xié)議/版本 (例如:GET/haorooms.jspHTTP/1.1)
請求頭(Request Header)(例如:Accept:image/gif.image/jpeg./ Accept-Language:zh-cn Connection:Keep-Alive Host:localhost等等)
請求正文
前端性能優(yōu)化問題,你是如何處理前端性能問題的?
www.haorooms.com/post/web_xn… 及 前端性能優(yōu)化補充篇
寫出最簡單的去重方式
es6的new Set()方式
let array=[0,3,4,5,3,4,7,8,2,2,5,4,6,7,8,0,2,0,90];[...new Set(array)]
es5的Array filter()
[1,3,4,5,1,2,3,3,4,8,90,3,0,5,4,0].filter(function(elem,index,Array){ return index === Array.indexOf(elem);})
谷歌瀏覽器運行下面代碼,并解釋!
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
運行上面代碼之后,會發(fā)現(xiàn)HTML層都被使用不同的顏色添加了一個高亮的邊框。為什么會這樣呢?
如何處理緩存?如何清除緩存。
ajax隨機數(shù)、ajax參數(shù)、meta中設(shè)置等??梢钥聪挛覍懙?js清除瀏覽器緩存的幾種方法
Websocket
Websocket 是一個 持久化的協(xié)議, 基于 http , 服務(wù)端可以 主動 push
兼容:
FLASH Socket
長輪詢: 定時發(fā)送 ajax
long poll: 發(fā)送 --> 有消息時再 response
new WebSocket(url)
ws.onerror = fn ws.onclose = fn ws.onopen = fn ws.onmessage = fn ws.send()
跨域
JSONP: 利用標簽不受跨域限制的特點,缺點是只能支持 get 請求
設(shè)置 CORS: Access-Control-Allow-Origin:*
postMessage
框架:Vue
vue-router如何做歷史返回提示?
vue-router如何做用戶登錄權(quán)限等?
vue組件通信
vue服務(wù)器渲染
vue性能優(yōu)化
active-class是哪個組件的屬性?
vue-router模塊的router-link組件。
vue-router有哪幾種導(dǎo)航鉤子?
三種, 第一種:是全局導(dǎo)航鉤子:router.beforeEach(to,from,next),作用:跳轉(zhuǎn)前進行判斷攔截。 第二種:組件內(nèi)的鉤子 第三種:多帶帶路由獨享組件
scss是什么?在vue.cli中的安裝使用步驟是?有哪幾大特性?css的預(yù)編譯。
使用步驟:
第一步:用npm 下三個loader(sass-loader、css-loader、node-sass)
第二步:在build目錄找到webpack.base.config.js,在那個extends屬性中加一個拓展.scss
第三步:還是在同一個文件,配置一個module屬性
第四步:然后在組件的style標簽加上lang屬性 ,例如:lang=”scss”
有哪幾大特性:
可以用變量,例如($變量名稱=值)
可以用混合器,例如()
可以嵌套
導(dǎo)航鉤子有哪些?它們有哪些參數(shù)?
導(dǎo)航鉤子有:
全局鉤子和組件內(nèi)獨享的鉤子。
beforeRouteEnter、afterEnter、beforeRouterUpdate、beforeRouteLeave
參數(shù): 有to(去的那個路由)、from(離開的路由)、next(一定要用這個函數(shù)才能去到下一個路由,如果不用就攔截)最常用就這幾種
Vue的雙向數(shù)據(jù)綁定原理是什么?
vue.js 是采用數(shù)據(jù)劫持 結(jié)合發(fā)布者-訂閱者模式的方式,通過Object.defineProperty()來劫持各個屬性的setter,getter,在數(shù)據(jù)變動時發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽回調(diào)。
請詳細說下你對vue生命周期的理解?
總共分為8個階段 創(chuàng)建前/后,載入前/后,更新前/后,銷毀前/后
創(chuàng)建前/后:
在beforeCreated階段,vue實例的掛載元素 $el 和數(shù)據(jù)對象data都為undefined,還未初始化。 在created階段,vue實例的數(shù)據(jù)對象data有了,$el還沒有。
載入前/后: 在beforeMount階段,vue實例的$el和data都初始化了,但還是掛載之前為虛擬的dom節(jié)點,data.message還未替換。在mounted階段,vue實例掛載完成,data.message成功渲染。
更新前/后: 當data變化時,會觸發(fā)beforeUpdate和updated方法。
銷毀前/后: 在執(zhí)行destroy方法后,對data的改變不會再觸發(fā)周期函數(shù),說明此時vue實例已經(jīng)解除了事件監(jiān)聽以及和dom的綁定,但是dom結(jié)構(gòu)依然存在
請說出vue.cli項目中src目錄每個文件夾和文件的用法?
assets文件夾是放靜態(tài)資源;
components是放組件;
router是定義路由相關(guān)的配置;
view視圖;
app.vue是一個應(yīng)用主組件;
main.js是入口文件
vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?
第一步:在components目錄新建你的組件文件(smithButton.vue),script一定要 export default {
第二步:在需要用的頁面(組件)中導(dǎo)入:import smithButton from "../components/smithButton.vue"
第三步:注入到vue的子組件的components屬性上面,components:{smithButton}
第四步:在template視圖view中使用,
自動化測試相關(guān)、mock數(shù)據(jù)相關(guān)、 webpack相關(guān)
這個考察你對webpack的理解是使用程度。
例如可能考察如下知識點:
hash(contenthash, chunkhash)
多頁面配置
發(fā)布上線流程
如何加快打包速度,減少打包體積
和其他工具的區(qū)別(grunt,glup,rollup,parcel,Browserify)
如果能看到這里的朋友都很不錯~
有g(shù)et到幫助的,可以 圈一下~ 謝謝!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/6662.html
摘要:上節(jié)我們講了同源策略,這節(jié)我們講講如何跨域。當這些從的腳本執(zhí)行出錯,因為違背了同源策略為了保證用戶信息不被泄露,錯誤信息不會顯示出來,取而代之只會返回一個。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每...
摘要:前端最基礎(chǔ)的就是。的原理瀏覽器發(fā)送請求,服務(wù)器給出響應(yīng)。保持之前的界面不變化。的核心創(chuàng)建一個對象,用于發(fā)起請求設(shè)置為請求,請求發(fā)送請求。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每周四)。 ajax ...
摘要:前端最基礎(chǔ)的就是。的原理瀏覽器發(fā)送請求,服務(wù)器給出響應(yīng)。保持之前的界面不變化。的核心創(chuàng)建一個對象,用于發(fā)起請求設(shè)置為請求,請求發(fā)送請求。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠遠不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每周四)。 ajax ...
摘要:微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué)官網(wǎng)訪問官網(wǎng)更快閱讀全部免費分享課程出品全網(wǎng)最新微信小程序基于最新版開發(fā)者工具之初中級培訓(xùn)教程分享。 ?? 微信小程序課程,面向所有具備前端基礎(chǔ)知識的同學(xué) ?? iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教...
閱讀 1849·2021-11-15 11:37
閱讀 3193·2021-11-04 16:05
閱讀 1985·2021-10-27 14:18
閱讀 2807·2021-08-12 13:30
閱讀 2540·2019-08-29 14:18
閱讀 2153·2019-08-29 13:07
閱讀 2102·2019-08-27 10:54
閱讀 2782·2019-08-26 12:15