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( );