var a=" "; var b=""; typeof a //string typeof b //string alert(Boolean(a)); //true alert(Boolean(b)); //false
切記不要認為a="";與a=" ";(包含空格的)是等價的!!!!
undefined==null----true undefined===null----false undefined==""------false
null==""----false
JavaScript 從來不會告訴你是否多次聲明了同一個變量;遇到這種情況,它只會對后續的聲明視而不見(不過它會執行后續聲明中的變量初始化)。
如下例子:
var i=10; var i; alert(i); //10
但是如果給后續聲明的變量初始化了,它還是會執行的。
var i=10; var i=5; alert(i); //5
匿名函數可以用來模仿塊級作用域,並避免這個問題。
(function(){ //這里是塊級作用域 })();