JavaScript中var關(guān)鍵字的使用詳解
作用
聲明作用;如聲明個(gè)變量。
語(yǔ)法
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)鍵字是用來(lái)申明變量的,但是如果不用這個(gè)關(guān)鍵字而直接寫(xiě)出變量名,然后賦值給它,JavaScript 也并不會(huì)報(bào)錯(cuò),它會(huì)自動(dòng)申明這個(gè)變量。難道說(shuō) JavaScript 中的var是個(gè)多余的東西嗎?顯然不是!
請(qǐng)看下面這段代碼:
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 的值并沒(méi)有被函數(shù) fun1 改變。
顯然,var關(guān)鍵字影響了變量的作用域。
函數(shù)外部:變量不管是否用了var申明,都是全局變量。
函數(shù)內(nèi)部:變量如果沒(méi)有使用var關(guān)鍵字申明,那它就是全局變量,只有用var關(guān)鍵字申明了,才是局部變量。
結(jié)論
為了避免潛在的風(fēng)險(xiǎn),務(wù)必使用var關(guān)鍵字來(lái)申明變量。
- 在Javascript中 聲明時(shí)用"var"與不用"var"的區(qū)別
- javascript定義變量時(shí)加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定義變量時(shí)有var和沒(méi)有var的區(qū)別探討
- JavaScript ES6中const、let與var的對(duì)比詳解
- JavaScript中var的重要性實(shí)例分析
相關(guān)文章
溫故知新——JavaScript中的字符串連接問(wèn)題最全總結(jié)(推薦)
這篇文章主要介紹了JS中的字符串連接問(wèn)題,ECMAScript 中最常見(jiàn)的一個(gè)問(wèn)題是字符串連接的性能。在調(diào)用 join() 方法時(shí)才會(huì)發(fā)生連接操作,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08
Javascript基礎(chǔ)_簡(jiǎn)單比較undefined和null 值
下面小編就為大家?guī)?lái)一篇Javascript基礎(chǔ)_簡(jiǎn)單比較undefined和null 值。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
詳解JavaScript中數(shù)組和字符串的lastIndexOf()方法使用
這篇文章主要介紹了詳解JavaScript中數(shù)組和字符串的lastIndexOf()方法使用,文中特別提及了IE8的兼容問(wèn)題以及for in的使用問(wèn)題,需要的朋友可以參考下2016-03-03
document.getElementBy("id")與$("#id")有什么區(qū)
有朋友問(wèn)document.getElementBy("id")與$("#id")的區(qū)別,其實(shí)第一個(gè)就是js中獲取對(duì)象的方法, 第二個(gè)是通過(guò)自定義函數(shù)方便調(diào)用,而第三個(gè)是jquery中獲取id對(duì)象的方法2013-09-09
js導(dǎo)航菜單(自寫(xiě))簡(jiǎn)單大方
一個(gè)簡(jiǎn)單的多級(jí)下拉菜單菜單但是由于業(yè)務(wù)和樣式上的要求,為了簡(jiǎn)潔找了好多都不適合于是自己寫(xiě)了一個(gè),曬出來(lái)與大家分享,感興趣的朋友可以參考下哈,希望可以幫助到你2013-03-03
JavaScript中g(shù)etUTCSeconds()方法的使用詳解
這篇文章主要介紹了JavaScript中g(shù)etUTCSeconds()方法的使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06

