摘要:隨機(jī)數(shù)參數(shù)中設(shè)置等。有哪幾種導(dǎo)航鉤子三種,第一種是全局導(dǎo)航鉤子,作用跳轉(zhuǎn)前進(jìn)行判斷攔截。在階段,實(shí)例的數(shù)據(jù)對(duì)象有了,還沒有。載入前后在階段,實(shí)例的和都初始化了,但還是掛載之前為虛擬的節(jié)點(diǎn),還未替換。更新前后當(dāng)變化時(shí),會(huì)觸發(fā)和方法。
最近面試了 很多1-2年的前端,網(wǎng)上手機(jī)了一些 問題和答案,發(fā)出來 希望能幫助到大家~
CSS篇
IOS手機(jī)瀏覽器字體齒輪
修改-webkit-font-smoothing屬性
結(jié)果是:-webkit-font-smoothing: none: 無抗鋸齒-webkit-font-smoothing: antialiased | subpixel-antialiased | default: 灰度平滑
怎么讓Chrome支持小于12px 的文字?
我們的做法是:
針對(duì)谷歌瀏覽器內(nèi)核,加webkit前綴,用transform:scale()這個(gè)屬性進(jìn)行縮放! 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 更多更強(qiáng)大的功能,常用功能:
嵌套 變量 循環(huán)語句 條件語句 自動(dòng)前綴 單位轉(zhuǎn)換 mixin復(fù)用
JS
網(wǎng)站js和css如何壓縮?有哪些方法?
概念性知識(shí)點(diǎn):
http請(qǐng)求問題,HTTP請(qǐng)求信息由那3部分組成?
請(qǐng)求方法URI協(xié)議/版本 (例如:GET/haorooms.jspHTTP/1.1)
請(qǐng)求頭(Request Header)(例如:Accept:image/gif.image/jpeg./ Accept-Language:zh-cn Connection:Keep-Alive Host:localhost等等)
請(qǐng)求正文
前端性能優(yōu)化問題,你是如何處理前端性能問題的?
www.haorooms.com/post/web_xn… 及 前端性能優(yōu)化補(bǔ)充篇
寫出最簡(jiǎn)單的去重方式
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);})
谷歌瀏覽器運(yùn)行下面代碼,并解釋!
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) })
運(yùn)行上面代碼之后,會(huì)發(fā)現(xiàn)HTML層都被使用不同的顏色添加了一個(gè)高亮的邊框。為什么會(huì)這樣呢?
如何處理緩存?如何清除緩存。
ajax隨機(jī)數(shù)、ajax參數(shù)、meta中設(shè)置等。可以看下我寫的 js清除瀏覽器緩存的幾種方法
Websocket
Websocket 是一個(gè) 持久化的協(xié)議, 基于 http , 服務(wù)端可以 主動(dòng) push
兼容:
FLASH Socket
長(zhǎng)輪詢: 定時(shí)發(fā)送 ajax
long poll: 發(fā)送 --> 有消息時(shí)再 response
new WebSocket(url)
ws.onerror = fn ws.onclose = fn ws.onopen = fn ws.onmessage = fn ws.send()
跨域
JSONP: 利用