1. 程式人生 > >Web前端面試指導(四十三):請描述一下 cookies,sessionStorage 和 localStorage 的區別?

Web前端面試指導(四十三):請描述一下 cookies,sessionStorage 和 localStorage 的區別?

題目點評

這是一種對比性比較強的問題,可以先說他們的相同點,然後就是要詳細闡述他們的不同點,而不同點不要刻意去對比,只要說出各自的特點,自然他們的不同點就出來了。
解決方法
相同點:都儲存在客戶端
不同點:
1.儲存大小
  • cookie資料大小不能超過4k。
  • sessionStorage和localStorage 雖然也有儲存大小的限制,但比cookie大得多,可以達到5M或更大。
2.有效時間
  • localStorage    儲存持久資料,瀏覽器關閉後資料不丟失除非主動刪除資料;
  • sessionStorage  資料在當前瀏覽器視窗關閉後自動刪除。
  • cookie          設定的cookie過期時間之前一直有效,即使視窗或瀏覽器關閉
3. 資料與伺服器之間的互動方式
  • cookie的資料會自動的傳遞到伺服器,伺服器端也可以寫cookie到客戶端
  • sessionStorage和localStorage不會自動把資料發給伺服器,僅在本地儲存。

----------------------------------------------------------------------------------------------------------------------------------------

額外拓展【加分項】:Cookie的操作(有點小難度)防止面試官細問cookie的操作。

設定Cookie 

cookie

的幾個要素

cookie的內容:採用 key=value;key=value……儲存,引數名自定義

cookie的過期時間:使用引數expires

cookie的路徑:使用引數path,"/"表示這個網站的頁面,不推薦!容易產生衝突

注意:形如“/pro/index.html”路徑,在google瀏覽器正常,在IE瀏覽器得不到值

cookie的表示方式示例

var name = "jack";
var pwd = "123";
var now = new Date();
now.setTime(now.getTime() +1 * 24 * 60 * 60 * 1000);//轉毫秒
var path = "/";//可以是具體的網頁
document.cookie = "name=" + name + ";expires=" + now.toUTCString() + ";path=" + path;//姓名
document.cookie= "pwd=" + pwd + ";expires=" + now.toUTCString()+ ";path=" + path; //密碼

讀取cookie

獲取cookie內容

vardata=document.cookie;//獲取對應頁面的cookie

解析cookie

方式1擷取字串

function getKey(key) {
    var data = document.cookie;
    var findStr = key + "=";
    //找到key的位置
    var index = data.indexOf(findStr);
    if (index == -1)
        return null;
    var subStr = data.substring(index +findStr.length);
    var lastIndex = subStr.indexOf(";");
    if (lastIndex == -1) {
        return subStr;
 } else {
        return subStr.substring(0,lastIndex);
 }
}

方式2:使用正則表示式+JSON

function getKey(key) {
    return JSON.parse("{\"" +document.cookie.replace(/;\s+/gim, "\",\"").replace(/=/gim, "\":\"") + "\"}")[key];
}

清除cookie

var name = null;
var pwd = null;
var now = new Date();
var path = "/";//可以是具體的網頁
document.cookie= "name=" + name + ";expires=" + now.toUTCString()+ ";path=" + path;//姓名
document.cookie = "pwd=" + pwd + ";expires=" + now.toUTCString()+ ";path=" + path; //密碼

相關推薦

Web前端面試指導(十三)描述一下 cookiessessionStorage localStorage區別

題目點評 這是一種對比性比較強的問題,可以先說他們的相同點,然後就是要詳細闡述他們的不同點,而不同點不要刻意去對比,只要說出各自的特點,自然他們的不同點就出來了。解決方法相同點:都儲存在客戶端不同點: 1.儲存大小 cookie資料大小不能超過4k。sessionSto

描述一下 cookiessessionStorage localStorage區別

sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web請求之間儲存資料。有了本地資料,就可以避免資料在瀏覽器和伺服器間不必要地來回傳遞。sessionStorage、localStorage、cookie都是在瀏覽器端儲存的資料,其

Web前端面試指導()什麼是響應式開發?

題目點評 響應式開發是前端開發工作比較常見的工作內容,隨著移動端的發展,網頁設計必須考慮到移動端的設計,同一個網站為了相容PC端和移動端顯示,響應式開發是前端開發人員必備的技術,所以響應式開發的技術必須掌握。 什麼是響應式 顧名思義,同一個網站相容不同的大小的裝置。如PC端

Web前端面試指導(十六)你瞭解跨域請求嗎?

題目點評 主要考察對web安全是否有接觸 ,關於安全方面的在面試時是經常被問到的。同一個意思可能問法也不同,比如說:“你對跨域瞭解嗎?”“什麼是跨域請求了?”其實都是同一個意思,回答思路可以先回答什麼是跨域請求,有什麼方式可以實現跨域請求基本上就可以了。 什麼是跨域請求

Web前端面試指導(十五)頁面渲染原理是什麼?

題目點評 這是一道純理論的題目,只要能夠將瀏覽器的渲染過程很專業的表述出來,一定會得到面試官的青睞,作為一枚前端人員確實有必要了解一下瀏覽器的渲染過程是怎樣的,對於頁面效能的提升是有幫助的。 解題思路 渲染引擎是幹什麼的 渲染引擎可以顯示html、xml文件及圖片,它也可以

Web前端面試指導(十一)樣式導入有哪些方式?

web前端樣式導入方式linkimport使用方式link的使用[css] view plain copy <link href="index.css" rel="stylesheet"> import的使用[css] view plain copy <style type="text/c

Web前端面試指導(十七)一個滿屏 品 字布局 如何設計?

web前端題目點評這道題目有可能是筆試題,有可能面談的時候進行敘述,如果是筆試題要求對css樣式代碼非常熟練,如果是面談敘述,就需要你的表達能力非常強,要抓住要點,把需要用到的技能點講清楚就可以了。需要用到技術1. 元素水平居中對齊1) 使用margin對齊(推薦)2) 使

Web前端面試指導(十八)用純CSS創建一個三角形的原理是什麽?

web前端題目點評三角形的圖標在網頁設計是很常見的,屬於基本常識題,只要在練習做到過這個功能都能回答出來,可以把你做過的思路描述出來就可以了,本題的難易程度為簡單本文出自 “智學無憂1” 博客,轉載請與作者聯系!Web前端面試指導(十八):用純CSS創建一個三角形的原理是什麽?

Web前端面試指導(十)如何居中一個元素(正常、絕對定位、浮動元素)?

web前端題目點評這道題目的提問比較多,連續問了三個問題,正常元素、絕對定位元素、互動元素如何居中,而且居中沒有說清楚是垂直居中還是水平居中,要回答清楚這個問題,必須得有深厚的功底,而且要分類的來回答,條理要清楚。可以先把水平居中各種情況說清楚,然後在把垂直居中說清楚。(一)元素水平居中的方式1)行級元素水平

Web前端面試指導(二十)事件是什麼?如何阻止事件冒泡?

題目點評 這題目的問題是一脈相承的,第一個問題和後面的問題有關聯,所以回答第一個問題時一定要涉及到事件執行的原理和過程,必須引出事件冒泡,有了事件冒泡才有第二問題如何阻止冒泡。 回答思路 事件是什麼?   事件用於監聽瀏覽器的操作行為,瀏覽器觸發動作時被捕捉到而呼叫相應的

Web前端面試指導(二十九)Ajax 是什麼? 如何建立一個Ajax?

題目點評 Ajax 是在工作中是必用的技術,在面試中十有八九會問的,答題的思路最好先回答原生態Ajax使用的步驟,最後告訴面試官,我們在工作中是使用Jquery來實現Ajax請求和處理的。在回答的時候儘量詳盡,包括方法的引數的個數,順序和作用,以免被面試官抓住不放。不給面試

Web前端面試指導(二十八)什麼是閉包為什麼要用它?

題目點評 閉包這個概念也是JavaScript中比較抽象的概念,也是JavaScript中的一個難點,要求對理論知識理解的比較透徹,概念性的東西一兩句就講完了,所以這道題目可以死記硬背,如果實在不能理解的話。 解題思路 閉包是什麼 你可以這樣回答: 我個人理解,閉包是就是函

Web前端面試指導(三十一)談談你對this的理解

題目點評 主要考察你對面向物件程式設計的理解,特別是物件的指向問題,如果連物件的指向都搞不清楚,很難說明你是一個優秀的前端開發人員,所以回答this的知識點是體現你的身價的時候到來了!如果能夠回答好這個問題,那麼在面試上你是增值的。個人建議,可以先回答this在不同的場合指

Web前端面試指導(三十七)eval是做什麼的?

題目點評 這題目的看起來比較簡單,但是總感覺有沒有那麼簡單,確實是這樣子。所以回答這個題目要從不同的角度去回答。首先回答清楚它是幹什麼的有什麼用,然後在談談它對作用域的影響,然後就是執行效率的問題,最後談談eval()的其它作用。這樣答下來自己都覺得滿意了吧! eval()

Web前端面試指導(八)iframe有那些缺點

-----------------------------------------------------------------------------------------------------------------------------------------

Web前端面試筆試題2——JS(1)函式呼叫(區域性變數/全域性變數)

1、函式呼叫——區域性變數/全域性變數 案例1-1:fun(a)函式有傳參,即可更改“區域性變數” var a=100; function fun(a){ a++; consol

慕課網Web前端面試題目及答案彙總

HTML/CSS部分 1、什麼是盒子模型? 在網頁中,一個元素佔有空間的大小由幾個部分構成,其中包括元素的內容(content),元素的內邊距(padding),元素的邊框(border),元素的外邊距(margin)四個部分。這四個部分佔有的空間中,有的部

Web前端面試總結

tcs 一個 網站 ack 平時 工程師 htm javascrip itl Base Prepration: 作為一名Web前端開發工程師,應該要有自己的個人作品(如個人網站之類),博客,和所關註的用於學習和分享Web前端技術的社區或貼吧(如github, w3cs

web前端學習(2)開始編寫HTML

其中 title 養成 的人 以及 字體 寫入 文本格式 軟件   在第一章中,我們初步了解了上網的過程,同時也明白了所謂網頁,其本質就是主要用HTML語言所寫的一份文檔。相信大多數人在了解HTML文件前,最先接觸的是利用“記事本”所寫的文檔或者是利用辦公軟件“Word”

web前端學習(3)認識HTML基本標簽

鼠標 首頁 一份 格式 所在地 有著 同時 網上 今天 本章主旨:   介紹常用的文本相關標簽,如<h>,<p>,<a>;簡介常見的HTML標簽屬性,如title屬性,href屬性,id/class屬性等;重點掌握<a>標簽。