去參加了某軟的前端面試,到公司的時候二話沒說,要求先寫了一份性格測試題,由於面的是前端,完事以後又來了一份前端筆試題,選擇、填空、簡答,選擇題沒記,主要記了填空題和簡答題。javascript
下面是填空題:html
-
CSS單位中,設定元素的長度或寬度與父元素字體大小相關的單位是?與html文檔元素大小相關的單位是?
- px,像素,設置固定元素;
- em,設置相對於父元素大小的百分比,如父元素是10px,子元素是2em,則子元素的大小就是20px;
- rem,設置相對於html文檔元素大小;
-
Js中原型鏈最上層的對象是()的原形對象?該對象的__proto__指針指向()的原型對象?
由於本身自學尚未學帶這塊,因此筆試的時候直接跳過了,回來查紅寶書學習一下。前端
-
Js中使用()對象的()函數定義對象屬性的訪問器?
- 由於上面面試被問到了關於面向對象方面的問題,然而那會並不會,因此這幾天在看面向對象方面的內容,正好用上了,這個問題的答案是利用了Object對象中的defineProperty方法來建立一個新的屬性。
-
一個簡單的變量提高問題
函數主要是這樣的:java
var a = 10;
var b = 10;
function x(){
console.log(a);
console.log(b);
var a = 5;
}
而後問輸出的結果是什麼,答案確定是5和10,變量提高的問題,以前也正好寫過一篇隨筆說這個,正好用上了。web
下面是簡答題:面試
-
簡述下爲什麼經過ajax發送請求會出現亂碼問題,如何解決?
-
- 發送get請求的時候:
- IE瀏覽器對應的ajax對象對中文參數會使用GBK的編碼方式,其餘瀏覽器則使用UTF-8編碼方式,web服務器默認狀況使用iso-8859-1的編碼方式;
- 解決辦法:使用encodeURL<>函數對請求的地址進行編碼,函數會對中文參數值按照UTF-8進行編碼;修改服務器端的編碼方式爲UTF-8;
- 發送post請求的時候:
- 全部瀏覽器中對應的ajax對象對中文參數都使用UTF-8的編碼方式,服務器使用iso-8859-1進行編碼;
- 解決辦法:使用request.setCharsetEncoding(「UTF-8」);
-
簡述DOM、HTMLDOM的區別和聯繫?
- DOM,文檔對象模型。
- 其實沒太明白這個,前者指的是什麼?核心DOM麼?仍是總的DOM?
-
簡述HTML5新增的canvas、audio、svg標籤的做用?
- canvas標籤,定義圖形,只是一個圖形容器,必須使用腳原本繪製圖形;更多內容仍是要參考W3C官方文檔。
- audio標籤,在網頁中引入音頻流,支持mp三、wav、ogg三種格式的音頻文件;不一樣瀏覽器存在兼容性問題
- svg標籤,定義用於網絡的基於矢量的圖形,使用XML格式定義圖形,改變大小不會失幀;
- svg的優點:
- 可經過文本編輯器來建立和修改;
- svg圖像可被搜索、索引、腳本化或壓縮;
- 任意伸縮畫質不會改變;
-
簡述如何經過CSS進行響應式佈局的方式?
- 純CSS的話必然是利用媒體查詢方式,根據設備的不一樣屏幕分辨率大小進行設置;
- 利用框架的話可使用Bootstrap、Amaze UI等;
-
什麼是事件流?
- 事件流描述的是從頁面中接收事件的順序;紅寶書中第13章專門講事件,須要進行學習。