var a="" 与a=" ",的区别;
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(){ //这里是块级作用域 })();