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