zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计(九):基本概念----函数

    一、参数的理解

      1、ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的始终是这个数组,而不关心数组中包含多少个参数,即使没有参数也可以。

      2、实质上,函数可以通过arguments对象来访问参数数组,从而获取传递给函数的每一个参数【即第一个参数是arguments[0],第二个参数是arguments[1],以此类推】。使用length属性来确定传递进来多少个参数。eg:

    //函数
    function sayHi(name,msg){
        console.log('hello! '+name+','+msg);
    }
    
    //同样的使用arguments也可以实现
    function sayHi(){
     console.log('hello! '+arguments[0]+','+arguments[1]);
    }
    
    //调用时候,可以返回同样的结果
    sayHi('tom','how old are you today?');
    
    //hello!tom,how old are you today?

      3、ECMAScript没有函数签名【接收参数的类型和个数没影响】,所以函数重载没办法实现。

      4、利用arguments可以实现函数的重载效果,eg:

    //根据传递参数的个数来执行不同的逻辑
    function doAdd(){
       if(arguments.length==1){
            console.log(arguments[0]+10);
        }else if(arguments.length==2){
             console.log(arguments[0]+arguments[1]);
        }
    }
    
    //调用
    doAdd(10);   //20(执行if)
    
    doAdd(10,30); //40(执行elseif)

      

      5、ECMAScript中没有函数重载,so如果存在两个同名的函数,则该名字只属于后定义的函数【即后定义的函数才有效】。

     

  • 相关阅读:
    VMWare:vSphere6 企业版参考序列号
    nginx1.14的安装
    nginx 编译安装时的编译参数说明(不建议看)
    yum 私有仓库
    linux 修改时区
    FreeFileSync 文件同步软件(windows)
    ansible 碎记录
    vsftp配置
    centos中,tomcat项目创建文件的权限
    EXI6.0的安装(找不到网卡、找不到磁盘)
  • 原文地址:https://www.cnblogs.com/renxiaoren/p/5952546.html
Copyright © 2011-2022 走看看