Ecmascript function arguments

  初学js,今天看了几篇文章关于js参数的问题,记以记用。

  对于js来说,方法的参数和其他语言的参数略不同,它无需关注要求实参和形参完全相同,方法的参数在方法对于方法本身而言,相当于一个参数数组,该参数数组表明了当前的实参,即便形参和实参的数量不匹配,也没有关系。这里有一点需要注意的是,参数数组和实参是单项传递的关系,他们只是值相同而空间内存不同,所以当参数数组值发生改变时,实参不变。

  eg:

      function say(name, message){

           console.log(arguments.length);

          }

       say('World!');

      //控制打印:1;

  eg:

      function say(name, message){

         console.log(arguments[1] == message);

        arguments[1] = 'World!';

         console.log(arguments[1] == message);

       }

       say('World!', 'ByeBye!’);

      //控制台打印:true;true;

function say(name, message){
      console.log(arguments.length);
    }
    say('World!');
//控制打印:1;

posted @ 2018-07-25 09:14  、子夜  阅读(24)  评论(0)    收藏  举报