JavaScript 函数参数

 

 

  在接下来的时间里面,我们准备为大家介绍“函数参数"。


  (1)函数的参数:经过前面的学习,大家已经了解到函数的定义格式,以及参数的传递,

           但是,在JS里面,它的函数参数还有另外一些特殊的性质。

           首先,在JS的函数参数传递时,它可以不按照参数定义的数量来传递

           另外,即使函数没有定义参数,但是,同样可以在函数调用时对其传递参数

 

       看完上面的介绍以后,如果有C或C++或Java编程基础的朋友就会觉得这个特性

      太神奇了,因为,在C或C++或Java里面,函数的参数是不具有这种特性的。所以,

      我们就要通过下面的介绍来看看JS的函数参数是如果做到这些特性的。

 

  (2)在JS中,它的函数参数在内部是用一个数组来表示的,所以,无论函数定义时,是否有参数,

     在参数传递时,你都可以不按照定义时的参数数量来传递,而这个内部的数组,在函数体中

     我们可以通过arguments对象来访问这个内部的参数数组

     而访问的方式就是通过对象名arguments[下标],即以数组的形式结合下标就可以访问到

     不同的参数了,而第一个参数就是arguments[0],第二个参数就是arguments[1],

     如些类推。

 

  (3)可以通过arguments调用 length 属性来确定本次传递了多少个参数到内部数组中。

           

 

   例子1:

 

   function test ( ) //定义了函数test

   {

      var c;

      if( arguments.length == 2 ) //当内部数组的参数个数是2个时,就进行加法运算

        c = arguments[0] + arguments[1];

      else if( arguments.length == 1 ) //当内部数组的参数个数只有1个时,就将参数赋给变量c

        c = arguments[0];

      else if( arguments.length == 0 ) //如果没有参数时就对变量c赋值为-1

        c = -1;

 

      retrun c;

   }

 

   var count = test( 4 , 5 ) ; #调用函数test ,调用时传递参数4和5,然后,内部数组接收

                了参数4和5,所以, arguments.length等于2

                然后,执行arguments[0] + arguments[1],即4+5,结果等于9,

                接着,将结果赋值给变量c,

                最后,通过 return 返回 c 中的值,并赋值给变量count。

 

                所以,在函数test调用完毕以后,count中的值就等于9。

 

 

  count = test( 10);      #再次调用函数test,并传递10作为参数,

                所以, arguments.length等于1

                然后,执行c = arguments[0],即 c = 10,

                最后,通过 return 返回 c 中的值,并赋值给变量count。

                所以,count中的值就等于10。

 

  count = test( );       #再次调用函数test,但没有传递参数,

                所以, arguments.length等于0

                然后,执行c = -1

                最后,通过 return 返回 c 中的值,并赋值给变量count。

                所以,count中的值就等于-1。

 

  小结:

     JS函数参数的这种特性给编程带来方便与灵活性,而前面学习的函数参数的定义与传递的格式

  可以让函数调用时的参数传递更直观。

     所以,需要使用哪种方法完全取决于程序开发的需求与你个人编程的习惯来选择就可以了。

 

 

 

  非常好,现在,我们已经掌握了JavaScript中的“函数的参数”,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练