DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 基於JavaScript 聲明全局變量的三種方式詳解
基於JavaScript 聲明全局變量的三種方式詳解
編輯:JavaScript基礎知識     

JS中聲明全局變量主要分為顯式聲明或者隱式聲明下面分別介紹。

聲明方式一:

使用var(關鍵字)+變量名(標識符)的方式在function外部聲明,即為全局變量,否則在function聲明的是局部變量。該方式即為顯式聲明詳細如下:
復制代碼 代碼如下:
var test = 5;  //全局變量
function a()
{
  var cc=3; //局部變量
  alert(test);
}
function b(){alert(test);}

聲明方式二:

沒有使用var,直接給標識符test賦值,這樣會隱式的聲明了全局變量test。即使該語句是在一個function內,當該function被執行後test變成了全局變量。
復制代碼 代碼如下:
test = 5;//全局變量
function a()
{
  aa=3; //全局變量
  alert(test);
}

聲明方式三:

使用window全局對象來聲明,全局對象的屬性對應也是全局變量,詳細如下:
復制代碼 代碼如下:
window.test;
window.test = 5;

這種方式經常被用到一個匿名函數執行後將一些函數公開到全局。 如JQuery1.5中最末一句
復制代碼 代碼如下:
window.jQuery = window.$ = jQuery;

全局變量的優點:

可以減少變量的個數,減少由於實際參數和形式參數的數據傳遞帶來的時間消耗。

全局變量的缺點:

(1)全局變量保存在靜態存貯區,程序開始運行時為其分配內存,程序結束釋放該內存。與局部變量的動態分配、動態釋放相比,生存期比較長,因此過多的全局變量會占用較多的內存單元。

(2)全局變量破壞了函數的封裝性能。函數象一個黑匣子,一般是通過函數參數和返回值進行輸入輸出,函數內部實現相對獨立。但函數中如果使用了全局變量,那麼函數體內的語句就可以繞過函數參數和返回值進行存取,這種情況破壞了函數的獨立性,使函數對全局變量產生依賴。同時,也降低了該函數的可移植性。

(3)全局變量使函數的代碼可讀性降低。由於多個函數都可能使用全局變量,函數執行時全局變量的值可能隨時發生變化,對於程序的查錯和調試都非常不利。
因此,如果不是萬不得已,最好不要使用全局變量。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved