麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

基于JavaScript 聲明全局變量的三種方式詳解

2019-11-20 22:44:11
字體:
來源:轉載
供稿:網友

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

聲明方式一:

使用var(關鍵字)+變量名(標識符)的方式在function外部聲明,即為全局變量,否則在function聲明的是局部變量。該方式即為顯式聲明詳細如下:

<script>   var test = 5;//全局變量   function a(){     var a = 3;//局部變量     alert(a);   }   function b(){     alert(test);   }   //a();//調用a方法,那么方法里面的內容才會執行   //b();//同上 </script> 

聲明方式二:

沒有使用var,直接給標識符test賦值,這樣會隱式的聲明了全局變量test。即使該語句是在一個function內,當該function被執行后test變成了全局變量。

<script>     test = 5;//全局變量     function a(){       aa = 3;//也是全局變量       alert(test);     }     //a();  //輸出5     //alert(aa);//這里也可以方法a()方法里面的變量,因為aa是全局變量   </script> 

聲明方式三:

使用window全局對象來聲明,全局對象的屬性對應也是全局變量,詳細如下:

<script>   window.test = 50;   alert(test);//輸出50 </script> 

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

window.jQuery = window.$ = jQuery;

全局變量的優點:

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

全局變量的缺點:

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 羞羞视频免费观看网站 | 福利免费在线观看 | 主播粉嫩国产在线精品 | 九九精品视频观看 | 国产成人免费高清激情视频 | 99精品国产一区二区三区 | 亚洲啊v在线观看 | 国产成人在线观看网站 | 亚洲一区二区三区精品在线观看 | 欧美一级毛片大片免费播放 | av黄色片网站 | 久久国产精| 久久久久久久久免费 | 欧美精品亚洲人成在线观看 | 久久久久久艹 | 在线成人影视 | 羞羞视频免费网站日本动漫 | 成人福利在线播放 | 精品久久9999 | 香蕉久久久精品 | 午夜视频在线 | 久草视频手机在线观看 | 手机av在线电影 | 福利免费在线观看 | 国产精品99精品 | 中文在线日韩 | sesee99| 亚州综合一区 | 国产精品中文在线 | 午夜av男人的天堂 | 成年人网站国产 | 久久精品日韩一区 | 亚洲国产视频在线 | 成人在线激情视频 | 一本视频在线观看 | 日本一道aⅴ不卡免费播放 久久久久久久高清 | 国产一级毛片高清视频完整版 | 国产va在线观看 | bt 自拍 另类 综合 欧美 | 一级黄色免费大片 | 久久一区二区三区av |