javascript是没有块级作用域概念,如下
上面的运行结果是10,很显然i在整个function中都是有效的,但是可以通过改进来实现作用域的功能的,如下
上面虽然实现了功能,但看起来还是有点怪怪的,其实上面的代码相当于
function outPutNumber(count){
for(var i=0;i<count;i++){
}
alert(i);//10
}
outPutNumber(10);
上面的运行结果是10,很显然i在整个function中都是有效的,但是可以通过改进来实现作用域的功能的,如下
function outPutNumber2(count){
(function(){
for(var i=0;i<count;i++){
}
alert(i);//10
})();
alert(i);//报错
}
outPutNumber2(10);
上面虽然实现了功能,但看起来还是有点怪怪的,其实上面的代码相当于
function outPutNumber3(count){
var f=function(){
for(var i=0;i<count;i++){
}
}
f();
alert(i);//报错
}
outPutNumber3(10);
本文探讨了JavaScript中作用域的概念,通过实例展示了如何在没有块级作用域的情况下实现局部变量的作用,并介绍了改进方法及其实现原理。
659

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



