• 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>
  • 相关阅读:
    格式与布局
    iframe
    tp
    头信息
    php 文件下载
    socket
    Flex 布局2
    Flex 布局
    下拉刷新
    选取一种类中含有某一属性值得元素的集合
  • 原文地址:https://www.cnblogs.com/bravolove/p/5544014.html
Copyright © 2020-2023  润新知