JavaScript - 書#高級程序設計
JavaScript 高級程序設計
- P25 DOM級別
- P37 JS屬性基礎小結
簡介
JavaScript組成分為三個
ECMAScript 核心 DOM(Document Object Model) 文檔對象模型 原本是針對XML,但經過擴展後用於HTML的API,他把HTML或XML節點化,進而可以針對頁面下每個節點修改 BOM(Borswer Object Model) 瀏覽器對象模型 對瀏覽器的彈出窗口、移動縮放、分辨率進行控制,還有取得navigator、location對象、cookies的信息
script的屬性 再傳送js腳本時的MIME類型為application/x-JavaScript
-
外部腳本有效 async 立即下載,不妨礙頁面,不按照順序,所以不要修改在加載期間的DOM defer 延遲到文檔被解析後執行 src 須執行外部的文件
-
其他 charset 指定字符,瀏覽器可能忽略 type 默認text/JavaScript,自定義可能被忽略 被禁用時顯示,可寫入HTML用以告知用戶需打開
-
基本概念 數據類型:undefined、string、number、object、function、boolean typeof操作符:typeof(“test”) == string、typeof(null) == object 這會被當作空的對象 #Note 未聲明(宣告)的變量也會判定為undefined,如;typeof(age) == undefined 但未聲明調用會報錯
javascript 類型 分為兩種類型的值 1.基本類型:number, string, boolean, undefined, null;辦別用typeof 2.引用類型:object; 辨別用instanceof 作用域 作用域分為全局環境和函數局部環境,每次進入一個新的環境之後,就會創建用於搜索變量和對象的作用域鍊,而局部可以訪問包含局部及往上至全局,全局則否,優先查詢同屬環境之後再依序往局部尋找 回收機制 當局部的函數結束後,自動加入回收,全局則建議手動加入,此效能優化影響將越來越小,因為JS原本因為IE6含之前,都是採用固定達到一個指標就回收(4096個對象,64KB字串,256個變量)在IE7之後改為動態增加臨界值,底於15%就會加倍,如果回收了85%則回復默認值。