乙個function的作用域模型,一般分為活動物件(區域性變數什麼的),全域性物件(window物件,document),訪問順序是先變數活動物件,後查詢全域性物件。
function initui()
//document可以用區域性變數儲存
var doc=document;
var bd=doc.body;
var links=doc.getelementsbytagname("a");
少用with eval(try catch看情況)
會強制調整作用域,導致層數加深。查詢緩慢
注意閉包的使用
閉包的引用會交叉引用活動物件
搜尋例項成員比從字面量或區域性變數中讀取資料代價更高,還要加上遍歷原型鏈的開銷。
JavaScript效能優化
盡量使用區域性變數 減少全域性變數的使用 可以縮小查詢的作用域鏈。使用變數和陣列要比訪問物件上的屬性更有效率。對於多重屬性查詢,將多次使用的屬性查詢儲存在區域性變數中。前 window.location.href.substring window.location.href.indexof 後 va...
JavaScript網頁指令碼效能優化
訪問dom的方式對指令碼效能會產生非常大的影響。以下面 為例 if document.getelementsbytagname a length 0 這段 可以執行,本身並沒有什麼問題,但它卻不是我們期望的最優性能。細看這段 可以發現其先後兩次使用dom方法getelementsbytagname ...
Javascript效能優化(二) 資料訪問優化
資料的儲存位置,關係到 執行時資料被檢索到的速度,js中有四種資料儲存位置 直接量 變數 陣列 物件。其中直接量可能比較少聽說,其實可以理解為表示匿名函式 匿名物件的乙個變數,如var sum function a,b sum就是乙個函式直接量。四種資料儲存位置中,直接量和區域性變數的訪問效能微不足...