• 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

  • 相关阅读:
    qt截取屏幕
    使用XmlTextReader 读取XML
    QQ2010 SP2 美化 皮肤 修改 透明 托盘 图标 RES.RDB 解包 打包 去广告 显IP
    发一个linux串口监视工具
    linux打包压缩命令汇总
    Qt实现遍历文件夹和文件目录(递归)
    linux忘记root密码的恢复方法
    centos x8664位版本 想安装qq for linux
    删除所有的.svn文件夹
    qtsdk1.2.1 静态编译
  • 原文地址:https://www.cnblogs.com/yuan001/p/3678985.html
Copyright © 2020-2023  润新知