美文网首页
理解参数

理解参数

作者: 酒暖花深Q | 来源:发表于2018-05-20 16:30 被阅读0次

    在ECMAscript函数的参数与其他语言函数的参数有所不同,ECMAscript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么数据类型。也就是说那你在定义的时候定义了两个参数,但是在调用函数的时候也未必一定要传递两个参数。可以传递一个,三个更多或者不传都可以。原因是ECMAscript函数中的参数在内部使用一个数组来表示,函数接收到的始终是这个数组,而不关心数组中包含哪些参数(如果有参数的话)。如果这个数组中不包含任何元素,无所谓,如果包含多个元素也没有问题,实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。

    function howMangArgs(){

    alert(arguments .length);

    }

    howMangArgs('string',45) ;        // 2 

    howMangArgs() ;        // 0 

    howMangArgs(45) ;        // 1;

    function toAdd(){

    if(arguments .length ==1){

    alert( arguments[0] +10);

    }else if(arguments .length == 2){

    alert( arguments[0] +arguments[1]); 

    }

    }

    toAdd(10)         //20

    toAdd(20,30)         //50

    相关文章

      网友评论

          本文标题:理解参数

          本文链接:https://www.haomeiwen.com/subject/rfjtjftx.html