- setTimeOut中的this永遠指向window,因為setTimeOut延遲執行
- Typed Array主要由下面幾個類構成:
ArrayBuffer: 連續的內存緩沖區,用于實際儲存各種類型的數組數據
Typed Array View類:比如Int32Array、Uint8Array、Float32Array等,表示一個特定類型的數組
DataView: 工具類,提供getUint8、setFloat32等工具方法修改ArrayBuffer不同位置的數據值 - HTML5新增的布局標簽:header,hgroup,nav,aside,section,article,footer,figure,menu.
- 嚴格模式:又稱標準模式,是指瀏覽器按照 W3C 標準解析代碼。
混雜模式:又稱怪異模式或兼容模式,是指瀏覽器用自己的方式解析代碼。
如何區分:瀏覽器解析時到底使用嚴格模式還是混雜模式,與網頁中的 DTD 直接相關。
1、如果文檔包含嚴格的 DOCTYPE ,那么它一般以嚴格模式呈現。(嚴格 DTD ——嚴格模式)
2、包含過渡 DTD 和 URI 的 DOCTYPE ,也以嚴格模式呈現,但有過渡 DTD 而沒有 URI (統一資源標識符,就是聲明最后的地址)會導致頁面以混雜模式呈現。(有 URI 的過渡 DTD ——嚴格模式;沒有 URI 的過渡 DTD ——混雜模式)
3、DOCTYPE 不存在或形式不正確會導致文檔以混雜模式呈現。(DTD不存在或者格式不正確——混雜模式)
4、HTML5 沒有 DTD ,因此也就沒有嚴格模式與混雜模式的區別,HTML5 有相對寬松的語法,實現時,已經盡可能大的實現了向后兼容。( HTML5 沒有嚴格和混雜之分)
意義:嚴格模式與混雜模式存在的意義與其來源密切相關,如果說只存在嚴格模式,那么許多舊網站必然受到影響,如果只存在混雜模式,那么會回到當時瀏覽器大戰時的混亂,每個瀏覽器都有自己的解析模式。
5.Null和Undefined的區別。
Null是對象,Undefined是一個數據類型,Null==Undefined。
Null:
(1) 作為函數的參數,表示該函數的參數不是對象。
(2) 作為對象原型鏈的終點
Undefined:
(1)變量被聲明了,但沒有賦值時,就等于undefined。
(2)調用函數時,應該提供的參數沒有提供,該參數等于undefined。
(3)對象沒有賦值的屬性,該屬性的值為undefined。
(4)函數沒有返回值時,默認返回undefined。
- float的屬性值:
- left:元素向左浮動。
- right:元素向右浮動。
- none :默認值。元素不浮動,并會顯示在其在文本中出現的位置。
- inherit:規定應該從父元素繼承 float 屬性的值。
- sass優缺點
CSS預處理器,好處:變量、mixin、函數、規則嵌套、顏色處理等,壞處:css的文件體積和復雜度不可控、調試難度增加、成本等 - javaScript包含核心(ECMAScript)、文檔對象模型(DOM)、游覽器對象模型(BOM) 。
- 內存泄漏
- 反復重寫同一個屬性會造成內存大量占用(但關閉IE后內存會被釋放)
- 給DOM對象用attachEvent綁定事件
- 從外到內執行appendChild。這時即使調用removeChild也無法釋放等等
-
MVC模式(Model–view–controller)是軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。
MVC模式的目的是實現一種動態的程式設計,使后續對程序的修改和擴展簡化,并且使程序某一部分的重復利用成為可能。除此之外,此模式通過對復雜度的簡化,使程序結構更加直觀。軟件系統通過對自身基本部分分離的同時也賦予了各個基本部分應有的功能。專業人員可以通過自身的專長分組:
控制器(Controller)- 負責轉發請求,對請求進行處理。
視圖(View) - 界面設計人員進行圖形界面設計。
模型(Model) - 程序員編寫程序應有的功能(實現算法等等)、數據庫專家進行數據管理和數據庫設計(可以實現具體的功能)。https://zh.wikipedia.org/wiki/MVC