zoukankan      html  css  js  c++  java
  • 2016-05-30 函数与变量 作用域

    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>
  • 相关阅读:
    巧用数据流让 Word 文档在线阅读
    《开源公开课分享》:Java开源框架案例分享
    存储过程
    opencv求取RGB分量
    opencv中的矩阵操作
    三维高斯模型 opencv实现
    线性均值滤波和中值滤波的比较
    opencv 画延长线
    MATLAB曲线绘制
    如何在博客园发博客时插入优酷视频
  • 原文地址:https://www.cnblogs.com/bravolove/p/5544014.html
Copyright © 2011-2022 走看看