前端面試題整理

1.比較typeof與instanceof?

typeof的定義和用法:返回值是一個字符串,用來講明變量的數據類型。javascript

Instanceof定義和用法:instanceof 用於判斷一個變量是否屬於某個對象的實例。css

2.什麼是跨域?跨域請求資源的方法有哪些?

因爲瀏覽器同源策略,凡是發送請求url的協議、域名、端口三者之間任意一與當前頁面地址不一樣即爲跨域。存在跨域的狀況。html

跨域請求資源的方法:

(1)、porxy代理前端

定義和用法:proxy代理用於將請求發送給後臺服務器,經過服務器來發送請求,而後將請求的結果傳遞給前端。java

實現方法:經過nginx代理;jquery

注意點:一、若是你代理的是https協議的請求,那麼你的proxy首先須要信任該證書(尤爲是自定義證書)或者忽略證書檢查,不然你的請求沒法成功。nginx

(2)、CORS 【Cross-Origin Resource Sharing】web

定義和用法:是現代瀏覽器支持跨域資源請求的一種最經常使用的方式。json

使用方法:通常須要後端人員在處理請求數據的時候,添加容許跨域的相關操做。以下:後端

res.writeHead(200, {
    "Content-Type": "text/html; charset=UTF-8",
    "Access-Control-Allow-Origin":'http://localhost',
    'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
    'Access-Control-Allow-Headers': 'X-Requested-With, Content-Type'
});

3)、jsonp

定義和用法:經過動態插入一個script標籤。瀏覽器對script的資源引用沒有同源限制,同時資源加載到頁面後會當即執行(沒有阻塞的狀況下)。

特色:經過狀況下,經過動態建立script來讀取他域的動態資源,獲取的數據通常爲json格式。

缺點:

  一、這種方式沒法發送post請求(這裏)

  二、另外要肯定jsonp的請求是否失敗並不容易,大多數框架的實現都是結合超時時間來斷定。

 javascript面向對象中繼承實現?

面向對象的基本特徵有:封閉、繼承、多態。

在JavaScript中實現繼承的方法:

1. 原型鏈(prototype chaining)

2. call()/apply()

3. 混合方式(prototype和call()/apply()結合)

4. 對象冒充

$(document).ready()方法和window.onload有什麼區別?

(1)、window.onload方法是在網頁中全部的元素(包括元素的全部關聯文件)徹底加載到瀏覽器後才執行的。

 (2)、$(document).ready() 方法能夠在DOM載入就緒時就對其進行操縱,並調用執行綁定的函數。

jquery中$.get()提交和$.post()提交有區別嗎?
相同點:都是異步請求的方式來獲取服務端的數據;

異同點:

一、請求方式不一樣:$.get() 方法使用GET方法來進行異步請求的。$.post() 方法使用POST方法來進行異步請求的。

二、參數傳遞方式不一樣:get請求會將參數跟在URL後進行傳遞,而POST請求則是做爲HTTP消息的實體內容發送給Web服務器的,這種傳遞是對用戶不可見的。

三、數據傳輸大小不一樣:get方式傳輸的數據大小不能超過2KB 而POST要大的多

四、安全問題: GET 方式請求的數據會被瀏覽器緩存起來,所以有安全問題。

什麼是盒子模型?
在網頁中,一個元素佔有空間的大小由幾個部分構成,其中包括元素的內容(content),元素的內邊距(padding),元素的邊框(border),元素的外邊距(margin)四個部分。這四個部分佔有的空間中,有的部分能夠顯示相應的內容,而有的部分只用來分隔相鄰的區域或區域。4個部分一塊兒構成了css中元素的盒模型。

sessionStorage 、localStorage 和 cookie 之間的區別
 共同點:用於瀏覽器端存儲的緩存數據

不一樣點:

(1)、存儲內容是否發送到服務器端:當設置了Cookie後,數據會發送到服務器端,形成必定的寬帶浪費;

        web storage,會將數據保存到本地,不會形成寬帶浪費;

(2)、數據存儲大小不一樣:Cookie數據不能超過4K,適用於會話標識;web storage數據存儲能夠達到5M;

(3)、數據存儲的有效期限不一樣:cookie只在設置了Cookid過時時間以前一直有效,即便關閉窗口或者瀏覽器;

        sessionStorage,僅在關閉瀏覽器以前有效;localStorage,數據存儲永久有效;

(4)、做用域不一樣:cookie和localStorage是在同源同學口中都是共享的;sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;

相關文章
相關標籤/搜索