面試篇三

liying-abc發表於2019-03-18

問題一:圖片延遲載入是怎麼實現的?

  • 在結構上,我們把img標籤放到一個div盒子中,開始的時候圖片的src中的地址為空,我們把圖片的真實存放在一個自定義屬性data-src中,我們給圖片所在的盒子設定一個預設的背景圖佔位(最好是小1kb)
  • 在js中,當監聽到頁面中的結構和資料都載入完成後(或者一個間隔時間),開始把圖片的真實圖片地址賦值給img中的src(為了防止圖片地址不存在導致404錯誤,我們在賦值給圖片src屬性是,往往會驗證一下圖片是否存在)

問題二:如何實現瀏覽器內多個標籤頁之間的通訊?

本題主要考察的是資料純粹的知識。資料儲存有本地和伺服器儲存兩種方式,這裡主要用本地儲存解決,即呼叫localStorage,cookis等本地儲存方式 第一種呼叫localStorage

在一個標籤頁面使用
localStorage.setItem(key,value)新增修改或刪除內容
在另一個標籤頁面監聽storage事件,
即可得到localStorage儲存的值,實現不同標籤標籤之間的通訊

複製程式碼

第二種cookie+setInteraval() 將要傳遞的資訊儲存在cookie中,每隔一定時間獲取cookie資訊,即可隨時獲取要傳遞的資訊

第三種 h5的postMessage postMessage(data,origin)方法接受兩個引數,分別在子頁面和父頁面觸發messag事件即可

問題三:同源策略

協議 域名 埠號都一致 則是同源 如果協議 域名 埠號這三個有一個不一樣則是跨域

  • 為什麼瀏覽器預設不支援跨域?

cookie localStorage DOM元素 ajax 這些都不支援跨域

  • 實現跨域(讓兩個頁面之間通訊)
  • jsonp (執行完後返回的是一個promise 缺點只能傳送get請求,並且不安全)
  • cors 純後端提供的(最常用的 安全性高)
  • postMessage 兩個頁面間可以通訊
  • document.domain 專門做子域和父域關係的
  • window.name
  • location.hash
  • http-proxy
  • nginx
  • websocket

問題四:ifram的缺點

  • ifram會阻塞主頁面的onload事件
  • 搜尋引擎無法檢索這種頁面,不利於seo優化
  • ifram和主頁面共享連線池,而瀏覽器對相同域的連線有限制,所以會影響頁面的載入速度

問題五:let 和 var 的區別

  • let沒有變數提升
  • let 會形成塊級作用域
  • 存在暫時性死區

問題六:CSS優先順序比較

!important>id>class>tag important比內聯優先順序高

問題七:XML和HTML的區別

  • 功能上的區別 XML可相容各大瀏覽器,手機以及PDA,並且瀏覽器也能快速正確的編譯網頁,
  • 書寫習慣 XML元素必須被正確的巢狀,閉合,區分大小寫,文件必須擁有根元素

問題三:vue有哪些自定義屬性

相關文章