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>
  • 相关阅读:
    递归求解的两道小练习
    unittest的前置后置,pytest的fixture和共享机制conftest.py
    pytest + allure
    Jmeter 录制 https协议是出现“您访问的不是安全链接”提示时
    Jmeter
    如何不做登录请求而获取cookie到Jmeter里
    Fiddler抓包后转成jmeter脚本
    Jmeter- 笔记12
    Jmeter- 笔记11
    Jmeter- 笔记10
  • 原文地址:https://www.cnblogs.com/bravolove/p/5544014.html
Copyright © 2011-2022 走看看