小米麪試題

1 >new生成一個對象的過程css

  1. 生成一個空對象 var obj={};
  2. 設置新對象的constructor屬性爲構造函數的名稱,設置對象的_proto_屬性指向構造函數的prototype對象
  3. 使用新對象調用函數,函數中的this被指向新的對象
  4. 初始化完畢新對象地址,保存在等號左邊的變量中

2>請簡單說明什麼是事件冒泡和事件捕獲以及事件委託
html

IE事件流叫做事件冒泡,便是事件開始有最具體的元素(文檔中嵌套最深的那個節點)接受,而後逐級向上傳播較爲不具體的的節點 element(div)>element(body)>element(html)>Document;ajax

Netscape Communication團隊提出的另外一事件流叫做事件捕捉:事件捕捉的意思是不太具體的節點應該更早的接收到事件,而具體的節點應該是最後接收到事件的Document>html>body>div;瀏覽器

事件委託:給父元素綁定事件,用來監聽子元素的冒泡事件,並找到那個子元素的仍是件緩存

定義:利用事件冒泡處理動態元素事件綁定的方法,專業術語叫做事件委託        使用事件委託技術能夠避免對特定的沒個節點添加事件監聽器,事件監聽器是被添加到他們的父元素上,事件監聽器會分析從子元素冒泡上來的事件,肯定而且捕捉到哪一個子元素的事件服務器

 

3>從輸入一個url到瀏覽器頁面展現都經歷了哪些過程?dom


DNS查詢-tcp三次握手-https請求:
tcp

  1. 首先,在瀏覽器中輸入url
  2. 在瀏覽器先查看瀏覽器緩存-系統緩存-路由器緩存,若是緩存中有,會直接在屏幕中顯示頁面內容,若沒有調到第三步
  3. 在發送http請求前,須要域名解析(DNS解析),解析獲取相應的IP地址
  4. 瀏覽器向服務器發起tcp鏈接,與瀏覽器創建tcp三次握手
  5. 握手成功後,瀏覽器想服務器發送請求,請求數據包
  6. 服務器處理手段的請求,將數據返回至瀏覽器
  7. 瀏覽器收到http相應,
  8. 讀取頁面內容,瀏覽器渲染,解析HTML源碼
  9. 生成dom樹,解析css樣式,js交互
  10. 客戶端和服務端交互
  11. ajax查詢
相關文章
相關標籤/搜索