這篇文章主要介紹了JavaScript中var關(guān)鍵字的使用,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
作用
聲明作用;如聲明個(gè)變量。
語法
- var c = 1;
省略var
在javascript中,若省略var關(guān)鍵字而直接賦值,那么這個(gè)變量為全局變量,哪怕是在function里定義的。
- <script type="text/javascript">
- function Define() {
- a = 2;
- }
- function Hello() {
- alert(a);
- }
- </script>
如代碼所示,運(yùn)行函數(shù)Define()后,變量a聲明為全局變量。在Hello()函數(shù)中可以引用變量a。
更具體的示例
我們都知道 JavaScript 中的var關(guān)鍵字是用來申明變量的,但是如果不用這個(gè)關(guān)鍵字而直接寫出變量名,然后賦值給它,JavaScript 也并不會(huì)報(bào)錯(cuò),它會(huì)自動(dòng)申明這個(gè)變量。難道說 JavaScript 中的var是個(gè)多余的東西嗎?顯然不是!
請看下面這段代碼:
- str1 = 'Hello JavaScript!';
- function fun1() {
- str1 = 'Hello Java!';
- }
- fun1();
- alert(str1);
- // 彈出 Hello Java!
可以看到,在函數(shù) fun1 被調(diào)用后,str1 的值在函數(shù)內(nèi)被改變了。
再將上面的代碼稍作修改:
- str1 = 'Hello JavaScript!';
- function fun1() {
- var str1 = 'Hello Java!';
- }
- fun1();
- alert(str1);
- // 彈出 Hello JavaScript!
看到?jīng)]有,str1 的值并沒有被函數(shù) fun1 改變。
顯然,var關(guān)鍵字影響了變量的作用域。
函數(shù)外部:變量不管是否用了var申明,都是全局變量。
函數(shù)內(nèi)部:變量如果沒有使用var關(guān)鍵字申明,那它就是全局變量,只有用var關(guān)鍵字申明了,才是局部變量。
結(jié)論
為了避免潛在的風(fēng)險(xiǎn),務(wù)必使用var關(guān)鍵字來申明變量。
新聞熱點(diǎn)
疑難解答
圖片精選