javascript 是弱數據型語言,也就是說聲明變量時不須要指定數據類型。而是在執行時由瀏覽器中的js引擎來決定。javascript
通常來講,咱們須要用var來聲明變量,可是寫不寫有什麼區別呢?html
先看一段代碼:java
運行結果爲 100 ,3 ,100瀏覽器
通過測試,就結果就很清楚了。在局部環境中,變量若是沒有用var 來聲明,直接進行賦值,那麼這個局部的變量會被javascript當成全局變量。要命的是,若是這個變量是一個函數,那結果就可想而知的慘了。函數
也就是說,若是你不用var,那麼這個js引擎會一層一層地向上找父做用域中的變量,若是找到了,就用,若是找不到了,就會幫你定義一個全局的變量。上面這個例子充分說明了這一點。因此,若是你想在當前的做用域用聲明變量,你必定要用var。測試