zoukankan      html  css  js  c++  java
  • js 函数声明与函数表达式

    1,变量包括全局变量和局部变量,局部变量只能在函数内部访问。如果函数传参和全局变量一样的话,即使是给全局变量赋值,这里会把全局变量当成局部变量的。

    如:

       1:   var x='x';
       2:   
       3:   function fun(x){
       4:     x='a'; //此时x就是局部变量了
       5:   }
       6:   
       7:   fun();
       8:   console.log(x); // x

    函数内的x是局部变量。

    2,局部变量

    如:

       1:   function fun3(){
       2:        var x='a'; // 局部变量,函数运行完就消失
       3:  }
       4:  fun3();
       5:  console.log(x); // x

    此时x是局部变量,fun2函数运行完就消失了,所以x是x

    3,全局变量

    如:

       1:  function fun2(){
       2:      x='b';
       3:  }
       4:  fun2();
       5:  console.log(x); // b

    此时在函数fun2运行时,x覆盖了全局变量

    4,函数声明和函数表达式

       1:          var aa =1;
       2:          var method = function(){
       3:              aa = 2;
       4:          }
       5:          function method(){
       6:              aa = 3;
       7:          }
       8:   
       9:          method();
      10:          console.log(aa);// 2

    第一个函数是函数表达式,第二个函数是函数声明。method的在执行时先执行函数声明,然后在执行函数表达式,所以表达式的值会覆盖函数声明的值。函数表达式必须得在定义之后访问,如果之前访问的话会报错。

    如:

       1:         var aa =1;
       2:          method3();
       3:          var method3 = function(){
       4:              aa = 6;
       5:          }

    image

  • 相关阅读:
    Effective Java 03 Enforce the singleton property with a private constructor or an enum type
    Effective Java 02 Consider a builder when faced with many constructor parameters
    Effective Java 01 Consider static factory methods instead of constructors
    sencha touch 手势识别左右滑动
    sencha touch textarea 手机上不显示滚动条,且不能滚动
    IBM Worklight OutOfMemoryError: Java heap space 错误
    shopnc-setNcCookie-后台验证码
    shonc-聊天im工具配置
    ecstore开启发送邮件日志,并且排查邮件发布出去原因
    php上传导入文件 nginx-502错误
  • 原文地址:https://www.cnblogs.com/yuan001/p/3678985.html
Copyright © 2011-2022 走看看