Skip to Main Content
高效能網站建置指南
book

高效能網站建置指南

by Steve Souders
January 2013
Intermediate to advanced content levelIntermediate to advanced
280 pages
5h 38m
Chinese
GoTop Information, Inc.
Content preview from 高效能網站建置指南
撰寫高效率的 JavaScript
|
95
的第 2 個物件,而不是第 1 個,這樣自然會減緩其標識符的解析。在前一個範例裡,
count
變數現在需要更長的時間才能夠存取,因為它不在作用域鏈的第 1 個物件裡。一
with
陳述式執行完畢之後,作用域鏈將回復到它先前的狀態。因為這個重大缺點的
關係,建議你少用
with
陳述式。
第二個會擴充作用域鏈的陳述式是
try-catch
區塊的
catch
子句。
catch
子句的行為就
類似
with
陳述式,執行
catch
子句裡的程式碼時,它會增加變數物件到作用域鏈的前
端。該變數物件包含一個由
catch
指定的具名例外物件的記錄,不過,
catch
子句只有
try 子句於執行期間出現錯誤時才會被執行,這使得它不會像
with
陳述式的衝擊那麼
大。然而,你應該小心謹慎,不要在
catch
子句中執行太多程式碼,好將效能衝擊減到
最小。
留意作用域鏈的深度是一種僅需些許工作即可改善效能的簡單方式。請避免不必要的作
用域鏈擴充,而意外導致執行速度的減緩。
高效率資料存取
資料在指令稿裡的儲存位置直接影響到指令稿的總執行時間。通常,資料能夠從指令稿
裡的四種地方被存取︰
實字值(literal value
變數
陣列項目
物件特性(property
讀取資料總會消耗效能,而消耗量取決於資料儲存在這四種位置中的哪一個。
在大多數瀏覽器上,相對於區域變數,從實字值(literal)讀取資料的處理成本幾乎小
到可以忽略;你大可放心地混用及搭配實字與區域變數,無需擔心效能上會有什麼損 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

初探深度學習|使用TensorFlow

初探深度學習|使用TensorFlow

Reza Zadeh, Bharath Ramsundar
優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow

Publisher Resources

ISBN: 9789862766583