`
mutongwu
  • 浏览: 438920 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

诡异的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( );
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics