在作輪播圖的時候出現了一個問題:若是定義兩個徹底相同的變量會發生什麼:編程
var num = 10; var num =100;
這種狀況下很明顯輸出num的話會是100,可是內存中會存在幾個num呢?編程語言
若是在其餘編程語言中,這樣會被認爲重複定義,編譯就通不過!函數
可是在JS中,能夠這樣聲明不會報錯,spa
也就是說仍然只存在一個num,和下面效果相同code
var num = 10; num = 100;
在函數內部用var定義局部變量,沒有問題。能夠在多個函數中定義多個相同的變量名,這些變量的做用域不一樣,不會互相影響,內存中能夠存在多個。blog
當前全局變量和局部變量重名時,在函數內部使用的是局部變量,內存中也能夠存在多個相同的變量名內存