日期:2014-05-16  浏览次数:20348 次

诡异的Javascript
Javascript 不存在块层次的作用域。
if (true) {
    var color = “blue”;
}
for (var i=0; i < 10; i++){
    doSomething(i);
}
alert(i); //10
alert(color); //”blue”



parseInt 的问题
parseInt('08') //返回0 而不是 8
/*因为 parseInt会把 字符串 '08'解析为 八进制 值,由于这时'8'并不是合法的字符,因此只返回前面的字符'0',并转换为数字0。因此,在使用parseInt的时候,通常要带'进制'参数,以免出现问题。*/
//又如:
parseInt('018') //1
parseInt('018',10) //18


作用域scope与变量的定义问题
var scope = "global";
function f( ) {
	//这里引用的仍然是f内的scope,只是这个时候,变量 scope还未被赋值。
    alert(scope);         // Displays "undefined", not "global"
    var scope = "local";  // Variable initialized here, but defined everywhere
    alert(scope);         // Displays "local"
}
f( );