1. 如何访问函数内的局部变量
<script> //获取函数内部变量的两种方法 function fn1(){ var a=‘100000美金‘; } alert(a);//报错 a isNot undefine; //解决方法1: 通过把局部变量赋值给全局变量 var str=‘‘; function fn1(){ var a=‘100000美金‘; str=a; } fn1();//必须先调用函数,否则里面赋值不会自动执行 alert(str);//‘100000美金‘ //解决方式2 通过局部函数调用并传参给全局函数 function fn2(){ var a =‘妹子爱吃梅子,我爱吃妹汁‘; fn3(a); } function fn3(b){ alert(b); } fn2();//妹子爱吃梅子,我爱吃妹汁 </script>
2.乱七八糟的作用域
<script> alert(a);//function a(){alert(4)} var a=1; alert(a);//1 function a(){//不执行,未被调用 alert(2); } var a=3; alert(a);//3 function a(){//不执行,未被调用 alert(4); } alert(a);//3 //a();//等于3(); is not a function;</script> <script> alert("a:"+a);//3,script是个全局的域,上面a初始化了,后面的可以用,反之不可以 var b=10; function fn1(){//预解析 b为undefine alert("b1"+b);//此处的b 与var b=1;中的b没有任何关系 var b=2; } fn1();//undefine; alert("b2:"+b);//10 var c=1; function fn2(){ alert("c1:"+c); c=2; } fn2();//1 alert("c2:"+c);//2 var d=1; function fn3(d){//预解析 b为undefine alert("d1:"+d); d=2; } fn3();//undefine alert("d2:"+d);//1 var e=1; function fn4(e){//预解析 b为undefine alert("e1:"+e); e=2; } fn4(e);//1 alert("e2:"+e);//1</script>
时间: 2024-08-08 04:47:13