JavaScript中var關(guān)鍵字的使用詳解
作用
聲明作用;如聲明個變量。
語法
var c = 1;
省略var
在javascript中,若省略var關(guān)鍵字而直接賦值,那么這個變量為全局變量,哪怕是在function里定義的。
<script type="text/javascript"> function Define() { a = 2; } function Hello() { alert(a); } </script>
如代碼所示,運行函數(shù)Define()后,變量a聲明為全局變量。在Hello()函數(shù)中可以引用變量a。
更具體的示例
我們都知道 JavaScript 中的var關(guān)鍵字是用來申明變量的,但是如果不用這個關(guān)鍵字而直接寫出變量名,然后賦值給它,JavaScript 也并不會報錯,它會自動申明這個變量。難道說 JavaScript 中的var是個多余的東西嗎?顯然不是!
請看下面這段代碼:
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)險,務(wù)必使用var關(guān)鍵字來申明變量。
- 在Javascript中 聲明時用"var"與不用"var"的區(qū)別
- javascript定義變量時加var與不加var的區(qū)別
- js for循環(huán),為什么一定要加var定義i變量
- JavaScript中const、var和let區(qū)別淺析
- 淺析JavaScript中var that=this
- JScript中的''var''定義變量的作用域
- Javascript var變量隱式聲明方法
- 關(guān)于JavaScript中var聲明變量作用域的推斷
- javascript定義變量時有var和沒有var的區(qū)別探討
- JavaScript ES6中const、let與var的對比詳解
- JavaScript中var的重要性實例分析
相關(guān)文章
nodeType屬性返回被選節(jié)點的節(jié)點類型介紹
這篇文章主要介紹了nodeType屬性返回被選節(jié)點的節(jié)點類型。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11javascript獲得當(dāng)前的信息的一些常用命令
這篇文章主要介紹了javascript獲得當(dāng)前的信息的一些常用命令,需要的朋友可以參考下2015-02-02JavaScript編程中window的location與history對象詳解
這篇文章主要介紹了JavaScript編程中window的location與history對象,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-10使用Math.floor與Math.random取隨機整數(shù)的方法詳解
本篇文章對使用Math.floor與Math.random取隨機整數(shù)的方法進行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05不得不看之JavaScript構(gòu)造函數(shù)及new運算符
這篇文章主要介紹了JavaScript構(gòu)造函數(shù)及new運算符,通過認(rèn)識new運算符,代碼解讀,重點解析,new存在的意義,總結(jié)等全面介紹了知識點,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08