[b]Javascript 不存在块层次的作用域。[/b]
[b]parseInt 的问题[/b]
[b]作用域scope与变量的定义问题[/b]
if (true) {
var color = “blue”;
}
for (var i=0; i < 10; i++){
doSomething(i);
}
alert(i); //10
alert(color); //”blue”
[b]parseInt 的问题[/b]
parseInt('08') //返回0 而不是 8
/*因为 parseInt会把 字符串 '08'解析为 八进制 值,由于这时'8'并不是合法的字符,因此只返回前面的字符'0',并转换为数字0。因此,在使用parseInt的时候,通常要带'进制'参数,以免出现问题。*/
//又如:
parseInt('018') //1
parseInt('018',10) //18
[b]作用域scope与变量的定义问题[/b]
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( );
本文详细探讨了JavaScript中块层次的作用域概念及变量定义的细节,通过实例展示了`parseInt`函数的使用和作用域规则,揭示了变量声明与作用域之间的内在联系。

281

被折叠的 条评论
为什么被折叠?



