JavaScript效能優化 資料訪問

2021-07-15 17:05:49 字數 400 閱讀 3076

乙個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就是乙個函式直接量。四種資料儲存位置中,直接量和區域性變數的訪問效能微不足...