1,做用域,做用域鏈和閉包?javascript
做用域:在javascript中有全局變量和局部變量,通常來講在函數內部用var聲明的是局部變量,做用域鏈是指在自身的做用域內找不到變量時就會往上查找,這種狀況就叫做用域鏈。 css
閉包:定義在函數內部的函數就是閉包java
優勢:1,保護函數內的變量安全,增強了封裝性,2,在內存中維持一個變量,也就是外層函數執行完成後,變量不會銷燬,由於內層函數的執行以來a中的變量瀏覽器
缺點:1,最大的缺點是常駐內存,增大了內存的消耗,使用不當還會形成內存泄露。安全
2,link @import 區別閉包
1,link是XHTML標籤,除了加載css還能夠定義RSS等其餘事務,而@import屬於css範疇,只能加載css。函數
2,link引用css時,在頁面載入時同時加載,而@import須要頁面徹底加載完成後才加載cssspa
3,link是XHTML標籤,無兼容問題,而@import是在CSS2.1提出的,低版本瀏覽器不支持。對象
4,link支持使用JavaScript控制DOM去改變樣式,而@import不支持。blog
3,innerHTML , outerHTML , innerText ,outerText
- innerHTML 設置或獲取位於對象起始和結束標籤內的 HTML
- outerHTML 設置或獲取對象及其內容的 HTML 形式
- innerText 設置或獲取位於對象起始和結束標籤內的文本
- outerText 設置(包括標籤)或獲取(不包括標籤)對象的文本
innerText和outerText在獲取時是相同效果,但在設置時,innerText僅設置標籤內的文本,而outerText設置包括標籤在內的文本。