做用
聲明做用;如聲明個變量。
語法 javascript
?java
1
|
var
c = 1;
|
省略var
在javascript中,若省略var關鍵字而直接賦值,那麼這個變量爲全局變量,哪怕是在function裏定義的。
ide
?函數
1
2
3
4
5
6
7
8
|
<script type=
"text/javascript"
>
function
Define() {
a = 2;
}
function
Hello() {
alert(a);
}
</script>
|
如代碼所示,運行函數Define()後,變量a聲明爲全局變量。在Hello()函數中能夠引用變量a。spa
更具體的示例
咱們都知道 JavaScript 中的var關鍵字是用來申明變量的,可是若是不用這個關鍵字而直接寫出變量名,而後賦值給它,JavaScript 也並不會報錯,它會自動申明這個變量。難道說 JavaScript 中的var是個多餘的東西嗎?顯然不是!.net
請看下面這段代碼:code
?orm
1
2
3
4
5
6
7
8
|
str1 =
'Hello JavaScript!'
;
function
fun1() {
str1 =
'Hello Java!'
;
}
fun1();
alert(str1);
// 彈出 Hello Java!
|
能夠看到,在函數 fun1 被調用後,str1 的值在函數內被改變了。htm
再將上面的代碼稍做修改:ip
1
2
3
4
5
6
7
8
|
str1 =
'Hello JavaScript!'
;
function
fun1() {
var
str1 =
'Hello Java!'
;
}
fun1();
alert(str1);
// 彈出 Hello JavaScript!
|
看到沒有,str1 的值並無被函數 fun1 改變。
顯然,var關鍵字影響了變量的做用域。
函數外部:變量無論是否用了var申明,都是全局變量。
函數內部:變量若是沒有使用var關鍵字申明,那它就是全局變量,只有用var關鍵字申明瞭,纔是局部變量。
結論
爲了不潛在的風險,務必使用var關鍵字來申明變量。