騰訊的一個筆試題,先看一下
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.如果重復使用的一個聲明沒有一個初始值,那么它不會對原來存在的變量有任何的影響.
---------------------
作者:juzipchy
來源:CSDN
原文:https://blog.csdn.net/juzipchy/article/details/70138857
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!