一、函数的声明方式(创建)

 

   A.基本语法

   function  关键字

   function 函数名([参数1],[参数2]....){

      函数体

      [retrun]  //返回值

    }

 

    B.字面量定义的形式(匿名函数)

 

     var 变量=function ([参数1],[参数2]....){

         函数体

        [retrun]  //返回值

       }

 

    C.以对象的形式来声明

 

      new 关键字。

 

      var 变量=new Function([参数1],[参数2]...,"函数体");

 

二、函数的调用方式:

    

    A.函数名() 、变量名();

 

    B.(function  () {alert("zzz");})();

 

 

三、两种声明方式的区别

 

   1.如果两个函数的命名相同,后面的将会覆盖前面的函数。

   

   2.以基本语法声明的函数,会在代码运行的时候,提前加载到内存当中,以供以后使用,

     但是以字面量形式命名的函数,会在执行到的时候,才进行赋值。

 

   3.在不同的<script></script>块中的函数,使用和调用的时候,应该先定义,后执行。

 

 

     

    

 

、参数(最多是25)

   

    形参:在定义函数的时候,函数括号中定义的变量叫做形参。

    实参:调用函数的时候,在括号中传入的变量或值叫做实参。

 

   1.参数的类型

     可以是任何的数据类型

   

    

   2.参数的个数(最多是25)

     A.实参和形参数量相等,一一对应。

 

     B.形参的数量多于实参

       

       不会报错,但是多出的参数他的值,会自动赋值为undefined

     

     C.实参的数量多于形参

         

       不会报错,但是要得到多出的实参的值,要用arguments对象

       

Arguments对象

 

   每创建一个函数,该函数就会隐式创建一个arguments对象,他包含有实际传入参数的信息。

    1.length   检测实际传入参数的个数

2.callee   对本身的调用

 

    访问传入参数的具体的值。([下标])