JS中建立多個相同的變量出現的問題

在作輪播圖的時候出現了一個問題:若是定義兩個徹底相同的變量會發生什麼:編程

  • 1.兩個全局變量:
var num = 10;
var num =100;

這種狀況下很明顯輸出num的話會是100,可是內存中會存在幾個num呢?編程語言

若是在其餘編程語言中,這樣會被認爲重複定義,編譯就通不過!函數

可是在JS中,能夠這樣聲明不會報錯,spa

也就是說仍然只存在一個num,和下面效果相同code

var num = 10;
num = 100;
  • 2.兩個局部變量

在函數內部用var定義局部變量,沒有問題。能夠在多個函數中定義多個相同的變量名,這些變量的做用域不一樣,不會互相影響,內存中能夠存在多個。blog

  • 3.全局變量和局部變量同名

當前全局變量和局部變量重名時,在函數內部使用的是局部變量,內存中也能夠存在多個相同的變量名內存

相關文章
相關標籤/搜索