1. 程式人生 > >2018前端面試題總結2

2018前端面試題總結2

  • HTML5的離線儲存有幾種方式?

    1.本地儲存localstorage 儲存方式: 以鍵值對(key-value)的方式儲存,永久儲存,永不失效,除非手動刪除。(每個域名5M) 儲存內容:陣列,圖片,json,樣式,指令碼… 2.本地儲存sessionstorage HTML5的本地儲存API中的localstorage與sessionstorage的使用方法是相同的,區別在於sessionstorage在關閉頁面後即被清空,而localstorage則會一直儲存。 3.離線快取application cache 本地快取應用所需的檔案 4.web SQL 關係資料庫,通過SQL語句訪問。web SQL資料庫API並不是HTML5規範的一部分,但是它是一個獨立的規範,引用了一組使用SQL操作客戶端資料庫的APIs。 5.IndexedDB 索引資料庫(IndexedDB)API(作為HTML5的一部分)對建立具有豐富本地儲存資料的資料密集型的離線HTML5 web應用程式很有用。同時它還有助於本地快取資料,使傳統線上web應用程式(比如移動web應用程式)能夠更快地執行和響應。

  • iframe有哪些缺點?

    1.頁面樣式除錯麻煩,出現多個滾動條,使用者體驗差; 2.瀏覽器的後退按鈕失效; 3.過多會增加伺服器的HTTP請求; 4.小型的移動裝置無法完全顯示框架,裝置相容性差; 5.產生多個頁面,不易管理; 6.不容易列印; 7.程式碼複雜,無法被一些搜尋引擎解讀,不利於搜尋引擎優化。 現在基本上都是用ajax來代替iframe,所以iframe已經漸漸的推出了前端開發。

  • 請描述一下cookies,sessionStorage和localStorage的區別

    共同點:都是儲存在瀏覽器端,且同源的。 區別: 1.cookie資料始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和伺服器間來回傳遞。而sessionStorage和localStorage不會自動把資料發給伺服器,僅在本地 儲存。cookie資料還有路徑(path)的概念,可以限制cookie只屬於某個路徑下。 2.儲存大小也不同,cookie資料不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合儲存很小的資料。sessionStorage和localStorage雖然也有儲存大小的限制,但比cookie大得多,可以達到5M或更大。 3.資料有效期不同,sessionStorage僅在當前視窗關閉前有效;localStorage始終有效,視窗或瀏覽器關閉也一直儲存,因此用作持久資料,cookie只在設定的cookie過期時間之前一直有效。 4.作用域不同,sessionStorage不在不同的瀏覽器視窗中共享,即使是同一個頁面;localStorage在所有的同源視窗中都是共享的;cookie也是在所有同源視窗(協議相同,域名相同,埠相同)中是共享的。 5.sessionStorage和localStorage是HTML5 web Storage API提供的,可以方便的在web請求之間儲存資料。web Storage支援事件通知機制,可以將資料更新的通知傳送給監聽者。web Storage的API介面使用更方便。

    • CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?CSS3新增偽類有哪些?

      (1)id選擇器(#idname) (2)類選擇器(.classname) (3)標籤選擇器(div,h1,p) (4)相鄰選擇器(h1+p) (5)子選擇器(ul>li) (6)後代選擇器(li a) (7)萬用字元選擇器(*) (8)屬性選擇器(a[rel=”external”]) (9)偽類選擇器(a:hover,li:nth-child) 所有元素都可繼承的屬性有:visibility和cursor 內聯元素可繼承的屬性有:line-height、color、font、text-decoration、text-transform、direction 塊元素可繼承的屬性有:list-style、list-style-type、list-style-position、list-style-image 不可繼承的屬性有:display、margin、padding、border、background、overflow、position、float… CSS優先順序的計算: 內聯樣式的權重 1000 ID選擇器的權重 100 類選擇器、屬性選擇器或偽類的權重 10 元素權重 1 通配選擇器* 的權重 0 !important的權重 10000 優先順序就近原則,同權重情況下樣式定義最近者為準。 CSS3新增偽類: :last-of-type p:last-of-type 選擇每個p元素是其父元素的最後一個p元素 :last-child p:last-child 選擇所有p元素的最後一個子元素 :first-of-type p:first-of-type 選擇每個父元素是p元素的第一個p子元素 :first-child p:first-child 選擇器匹配作為任何元素的第一個子元素的p元素 :only-child p:only-child 選擇所有僅有一個子元素的p元素 :only-of-type p:only-of-type 選擇所有僅有一個子元素為p元素的元素 :nth-child(n) p:nth-child(n) 選擇所有p元素的父元素的第N個子元素 :nth-last-child(n) p:nth-last-child 選擇所有p元素倒數第N個子元素 :enabled /:disabled 控制表單控制元件的禁用態 :checked 單選框或複選框被選中

    • 如何居中div?如何居中一個浮動元素?