加var 與不加var聲明變量有什么區(qū)別?
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>變量</title> <script?type="text/javascript"> var?a=4; b=5;//這兩個(gè)變量使用有什么區(qū)別呢? </script> </head> <body> </body> </html>
2015-06-02
JS中變量聲明分顯式申明和隱式聲明。
var num=100;//顯式
num=100;//隱式
在函數(shù)中使用var關(guān)鍵字進(jìn)行顯式聲明的變量是做為局部變量,而沒有用var關(guān)鍵字,使用直接賦值方式聲明的是全局變量。
當(dāng)我們使用訪問一個(gè)沒有聲明的變量時(shí),JS會(huì)報(bào)錯(cuò)。而當(dāng)我們給一個(gè)沒有聲明的變量賦值時(shí),JS不會(huì)報(bào)錯(cuò),相反它會(huì)認(rèn)為我們是要隱式申明一個(gè)全局變量,這一點(diǎn)一定要注意。
不加var的寫法是不推薦的。
1. ?語義不清楚。
2. ?團(tuán)隊(duì)開發(fā)時(shí),容易覆蓋掉其它作用域內(nèi)的變量,引發(fā)異常。
3. ?給window對(duì)象添加不必要成員。 ?