一个简单的局部变量的作用域问题script typetext/javascriptfunction f(){var a5function(){window
一个简单的局部变量的作用域问题
<script type="text/javascript">
function f(){
var a=5;
function(){
window.alert(a);
}
}
f();
</script>
JavaScript中,函数的局部变量(a)不是在整个函数中都有意义吗?为什么在匿名函数中不能读取a的值呢?菜鸟一枚,求指导。。。
[解决办法]
f(),执行函数f
但你函数内部就只定义了一个局部变量a,和一个匿名方法
首先,这个a在你匿名函数内部是可以获取到的,但主要的是你这个匿名函数并没有执行,你若是想看效果,有两个办法,但原理都相同,就是使这个匿名函数自执行
- JScript code
//1:这样的话就是将后面匿名函数立即执行,并将其返回值赋于bvar b=function(){ alert(a);}();//对效果进一步理解,你使用以下方法就应该知道了var b=function(){ return "我是b的返回值";}(); alert(b);//第2种就是匿名函数本身自执行(function(){ alert(a);})(); 