1. 程式人生 > >Web前端工程師面試題7-4

Web前端工程師面試題7-4

1,作用域,作用域鏈和閉包?

  作用域:在javascript中有全域性變數和區域性變數,一般來說在函式內部用var宣告的是區域性變數,作用域鏈是指在自身的作用域內找不到變數時就會往上查詢,這種情況就叫作用域鏈。 

  閉包:定義在函式內部的函式就是閉包

  優點:1,保護函式內的變數安全,加強了封裝性,2,在記憶體中維持一個變數,也就是外層函式執行完成後,變數不會銷燬,因為內層函式的執行以來a中的變數

  缺點:1,最大的缺點是常駐記憶體,增大了記憶體的消耗,使用不當還會造成記憶體洩露。

 

2,link    @import 區別

  1,link是XHTML標籤,除了載入css還可以定義RSS等其他事務,而@import屬於css範疇,只能載入css。

  2,link引用css時,在頁面載入時同時載入,而@import需要頁面完全載入完成後才載入css

  3,link是XHTML標籤,無相容問題,而@import是在CSS2.1提出的,低版本瀏覽器不支援。

  4,link支援使用JavaScript控制DOM去改變樣式,而@import不支援。

3,innerHTML  ,  outerHTML   ,   innerText   ,outerText

- innerHTML 設定或獲取位於物件起始和結束標籤內的 HTML

- outerHTML 設定或獲取物件及其內容的 HTML 形式

- innerText 設定或獲取位於物件起始和結束標籤內的文字

- outerText 設定(包括標籤)或獲取(不包括標籤)物件的文字

innerText和outerText在獲取時是相同效果,但在設定時,innerText僅設定標籤內的文字,而outerText設定包括標籤在內的文字。