1. 程式人生 > >js中var的重複宣告

js中var的重複宣告

騰訊的一個筆試題,先看一下

var a = 100;
function fn() {
    alert(a);   //undefined
    var a = 200;
    alert(a);   //200
}
fn();
alert(a);   //100
var a;
alert(a);    //100
var a = 300;
alert(a);   //300

前兩個很簡單,不解釋 了,涉及到宣告提前的問題。

後面仨為啥呢,這要總結下重複宣告的問題:
1.使用var語句多次宣告一個變數不僅是合法的,而且也不會造成任何錯誤.

2.如果重複使用的一個宣告有一個初始值,那麼它擔當的不過是一個賦值語句的角色.

3.如果重複使用的一個宣告沒有一個初始值,那麼它不會對原來存在的變數有任何的影響.