這次帶給大家2018最新前端面試題,我們知道在前端工作中面試是必不可少的一部分,這次的前端面試常考問題分類整理匯總就是來幫助大家度過前端面試著一大難關。一起來看一下。
【相關推薦:前端面試題(2020)】
一、請說出三種減少頁面載入時間的方法。 (載入時間指感知的時間或實際載入時間)
1.減少HTTP請求;
2.合併壓縮Js/css檔;
3.使用快取manifest;
4.伺服器端開啟gzip;
5.使用CDN,使用者可以就近獲取所需的資源,存取速度有保障,穩定性也有保障
6.外部JS和CSS放底下
7.盡可能少的操作DOM,某些需要重複操作的DOM可以放變數裡
二、請描述偽元素(pseudo-elements) 及其用途。
偽類別用於選擇那些DOM樹中不存在的不容易被常規選擇器找到的資訊:hover :active :focus :link
偽元素用於將某些特殊效果加到選擇器上; 如::before ::after
偽元素用於表現非正文、裝飾性的東西,利於HTML語意化;
三、你有相容retina 螢幕的經驗嗎?如果有,在什麼地方使用了何種技術?
淘寶的lib-flexible函式庫;
四、請問為何要使用 translate() 而非 absolute position,或相反的理由?為什麼?
從動畫來講,transform可以讓GPU參與運算,FPS更高;absolute最小動畫單位是1px,而transform可以更小,使動畫更平滑,
從其他角度來講,就是absolute必須有relative的父盒子;
五、你是如何組織自己的程式碼?是使用模組模式,還是使用經典繼承的方法? (這個是百度後的答案)
對內:模組模式;
對外:繼承
六、解釋function foo() {} 與var foo = function() {} 用法的區別
1.函數宣告必須有函數名字,2.可以在任何地方調用,即存在變數提升
3.函數表達式前後兩個名稱可以相同也可以不同;4.函數表達式後邊那個名字可以省略;
5.表達式後面的名字只能在函數內部使用;6.函數只能在宣告後才能呼叫
七、請解釋JSONP 的工作原理,以及為什麼它不是真正的Ajax。
json是一種資料格式;jsonp是一種資料呼叫的方法;
1.利用script標籤沒有跨域限制的特性,在腳本裡建立一個script標籤,地址指向第三方API,如
(src屬性皆不受跨域限制)
2.提供一個回呼函數來接收資料;第三方產生的資料為json資料的包裝,形如callback({"name":"hax","gender":"Male"} ) ,回呼函數可透過URL參數傳遞callback=fn
3.這樣瀏覽器會呼叫callback函數,並傳遞解析後的json物件作為參數。本站腳本可在callback函數處理傳入的資料;ajax本質是透過XmlHttpRequest取得伺服器信息,而JSONP核心則是動態新增script標籤來呼叫伺服器提供的JS腳本;
#相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是2018最新前端面試題五的詳細內容。更多資訊請關注PHP中文網其他相關文章!