您的位置:首页 > Web前端 > JavaScript

javascript无块级作用域

2012-01-19 15:57 447 查看
对于有块级作用域的语言来说,for语句初始化变量的表达式所定义的变量,只会存在于循环的环境中。

而对于javascript来说,由for循环创造的变量,即使在for循环结束后,也依旧会存在于外部执行环境中。

for(var i=0;i<10;i++){

doSomething(i);

}

alert(i); //10

以下两种情况的作用域不同:

function add(num1,num2){

var sum=num1+num2;

return sum;

}

var result=add(10,20);

alert(sum); //出现错误因为sum不是有效变量

function add(num1,num2){

sum=num1+num2;

return sum;

}

var result=add(10,20);

alert(sum); //30
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: