首頁 web前端 js教程 巧用局部變數提升javascript效能_javascript技巧

巧用局部變數提升javascript效能_javascript技巧

May 16, 2016 pm 04:58 PM
局部變數 提升效能

javascript中一個標識符所在的位置越深,它的讀寫速度就越慢。因此,函數中讀寫局部變數總是最快的,而讀寫全域變數通常是最慢的。一個好的經驗法則是:如果某個跨作用域的值在函數中被引用一次以上,那麼就把它儲存到局部變數裡。

例如:

複製程式碼 程式碼如下:


程式碼如下:



bd.className = "active";
}


函數引用了三次document,而document是全域物件。搜尋該變數的過程必須遍歷整個作用域鏈接,直到最後在全域變數物件中找到。你可以透過以下方法減少對效能的影響:先將全域變數的參考儲存在一個局部變數中,然後使用這個局部變數來取代全域變數。 例如:
複製程式碼


程式碼如下:



程式碼如下:



doc.getElementById("go-btn").onclick = function(){ start(); } bd.className = "active"; }
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1311
25
PHP教程
1262
29
C# 教程
1235
24
C++ 函數的局部變數和全域變數有什麼不同? C++ 函數的局部變數和全域變數有什麼不同? Apr 19, 2024 pm 03:42 PM

C++局部變數和全域變數的差異:可見性:局部變數僅限於定義函數,而全域變數在整個程式中可見。記憶體分配:局部變數在堆疊上分配,而全域變數在全域資料區分配。作用域:局部變數在函數內,而全域變數在整個程式中。初始化:局部變數在函數呼叫時初始化,而全域變數在程式啟動時初始化。重新創建:局部變數在每次函數呼叫時重新創建,而全域變數僅在程式啟動時創建。

C++語法錯誤:函數傳回指標或引用時,不能傳回局部變數或臨時對象,該如何處理? C++語法錯誤:函數傳回指標或引用時,不能傳回局部變數或臨時對象,該如何處理? Aug 22, 2023 am 09:22 AM

C++是一種物件導向的程式語言,它的靈活性和強大性通常為程式設計師提供了很大的幫助。然而,也正是因為其彈性,程式設計時難以避免各種小錯誤。其中一個很常見的錯誤就是函數傳回指標或引用時,不能傳回局部變數或臨時物件。那麼該如何處理這個問題呢?本文將詳細介紹相關的內容。問題的原因在C++語言中,局部變數和臨時物件是在函數運行期間動態分配的。當函數結束時,這些局部變數和臨

Golang函數的全域變數和局部變數的資料競爭分析 Golang函數的全域變數和局部變數的資料競爭分析 May 21, 2023 am 08:19 AM

Golang是一種強型別程式語言,具有高效、簡潔、並發等特點,因此逐漸受到了越來越多的開發者的青睞。而在Golang的開發中,函數的全域變數和局部變數往往涉及資料競爭的問題。本文將從實際編碼的角度,對Golang函數中全域變數和局部變數的資料競爭問題進行分析。一、全域變數的資料競爭Golang全域變數在所有函數中均可訪問,因此如果不進行嚴謹的設計與編碼

Java 10中的局部變數類型推斷:如何在foreach迴圈中使用var關鍵字 Java 10中的局部變數類型推斷:如何在foreach迴圈中使用var關鍵字 Jul 29, 2023 pm 03:21 PM

Java10中的局部變數類型推斷:如何在foreach循環中使用var關鍵字引言:Java10是繼Java9之後的一個重要版本,引入了許多新的特性和改進。其中一個備受期待的特性是局部變數類型推論。在Java10中,我們可以使用var關鍵字來聲明局部變量,並讓編譯器根據右側的表達式自動推斷變數的類型。在這篇文章中,我們將探討如何在foreach循環中使

Java 10中的局部變數類型推斷:如何使用var關鍵字簡化程式碼 Java 10中的局部變數類型推斷:如何使用var關鍵字簡化程式碼 Jul 29, 2023 pm 07:32 PM

Java10中的局部變數類型推斷:如何使用var關鍵字簡化程式碼導言:在Java10中,引入了局部變數類型推斷的特性,透過使用var關鍵字,可以簡化程式碼編寫過程。本文將介紹var關鍵字的使用方法,並透過範例程式碼示範其簡化程式碼的效果。一、什麼是局部變數類型推論?局部變數類型推斷是指在宣告局部變數時,可以使用var關鍵字來取代明確的類型宣告。編譯器會根據賦值來表達

Java 10中的局部變數型別推論:如何在lambda表達式中使用var關鍵字 Java 10中的局部變數型別推論:如何在lambda表達式中使用var關鍵字 Aug 02, 2023 pm 04:25 PM

Java10中的局部變數類型推斷:如何在lambda表達式中使用var關鍵字引言:Java10引入了局部變數類型推斷的新特性,這使得我們可以在宣告局部變數時使用var關鍵字來推斷其類型。雖然這個特性在大多數情況下可能並不是必要的,但在某些情況下,它可以改善程式碼的可讀性和簡潔性。本文將重點放在lambda表達式中如何使用var關鍵字來實現局部變數類型推斷

提高Tomcat效能的方法:使用線程池 提高Tomcat效能的方法:使用線程池 Dec 28, 2023 am 08:09 AM

標題:利用線程池提升Tomcat的效能摘要:隨著網路的高速發展,Web應用程式的效能成為了至關重要的因素。而Tomcat作為一款廣泛使用的伺服器容器,如何提升其效能成為許多開發人員關注的話題。本文將介紹如何利用線程池來提升Tomcat的效能,並給出了具體的程式碼範例。正文:一、執行緒池介紹執行緒池是一種常用的多執行緒處理方式,它能夠優化執行緒的創建與銷毀過程,提高系

在Java中,局部變數的預設值是什麼? 在Java中,局部變數的預設值是什麼? Aug 20, 2023 pm 09:41 PM

本地變數可以在方法中聲明,codeblocks,constructors,等等在Java中。當程式控制進入方法、程式碼區塊、建構函式等時,局部變數被創建,當程式控制離開方法、程式碼區塊、建構函式等時,局部變數被銷毀。在Java中,局部變數沒有預設值。這意味著它們可以在變數第一次使用之前被聲明和賦值,否則,編譯器會拋出錯誤。範例publicclassLocalVariableTest{  publicvoidprint(){  &am

See all articles