Javascript学习总结-函数-(四)

2.7.     JavaScript函数基础

函数主要用来封装具体的功能代码。

函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。

注意:函数的形参是不用声明使用的。

函数的基本语法是这样的:

 

function functionName(arg0, arg1, ... argN) {

  statements

}

  

例如:

 

function sayHi(sName, sMessage) {

  alert("Hello " + sName + sMessage);

}

  

调用函数?

函数可以通过其名字加上括号中的参数进行调用,如果有多个参数。

如果您想调用上例中的那个函数,可以使用如下的代码:

sayHi("David", " Nice to meet you!")

调用上面的函数 sayHi() 会生成一个警告窗口。

函数的返回值

没有返回值类型,如果一个函数需要返回值直接使用return即可.

该函数只需要使用 return 运算符后跟要返回的值即可。

 

function sum(iNum1, iNum2) {

  return iNum1 + iNum2;

}

  

注释:如果函数无明确的返回值,或调用了没有参数的 return 语句,那么它真正返回的值是 undefined。

-----------------------------------------------------------------

函数格式

    Function 函数名(参数列表){

    代码;

    return 返回值; //return 不是必须的.

}

    示例:

     

  function foo() {

           alert("test");

       }

       function foo2( a ){

           alert(a);

           return; // 没有返回值,表示方法执行完了,后面如果有代码就不会执行了

       }

       function foo3( a, b ){

           alert(a + b);

       }

       function foo4( a, b ){

           return a + b;

       }

 注意事项:

1.不需要类型,只写形参的名称就可以了。

2声明时不需要指定返回值类型;return可以有,也可以没有。

3.  javascript中的函数没有重载的形式,后定义的函数会直接覆盖前面 的函数。

4. 一个函数可以接收任意个 参数。 

参数:

JS的函数都是类似于Java中可变参数的。

在函数中可以直接使用arguments变量,arguments是一个数组,表示所有传递过来的参数。

在声明函数时,定义的形参就对应arguments数组中相应位置的参数值,写形参只是用着方便一点。

    参数示例

       定义:

           function foo( a, b, c ){

              ...

           }

       调用: 

         

  foo()

           foo( 1, 2 )

           foo( 1, 2, 3 )

           foo( 1, 3, 5, 7, 9 )

           foo( "aa", null, "cc" )

    没有重载

       当同一个名称的函数定义多次时,最终使用的是最后一个的定义。没有重载!

       例:

           function sum(){ alert("11"); }

           function sum(a,b){ alert("22"); }

           调用时写sum(1,2),结果还是显示“22”。

  

总结:

特点:

       1、使用function关键字定义函数。

       2、没有任何的返回值类型。

       3、函数的定义优先执行,与顺序无关。

       4、可以通过函数名赋值函数,函数变量的类型是function对象。

       5、参数列表不能有var关键字。

       6、函数的参数列表在具体调用的时候实参个数可以和形参个数不同。

       7、JavaScript函数天然的支持可变参数。

       8、同名的函数最后声明会覆盖前面以声明。Javascript中没有函数重载。

案例:体验JavaScript

    定义一个输入框输入的月份,然后输出本月对应的天数。

<html>

    <head>

       <title>学习JavaScript</title>

    </head>

    <body>

       月份:

       <input type="text" id="month">

       <input type="button" value="显示天数" οnclick="foo()">

       <!--

       31天:1,3,5,7,8,10,12

       30天:4,6,9,11

       28天:2

       -->

       <script type="text/javascript">

           function foo(){

              var monthValue = document.getElementById("month").value;

              // 如果是非数字,则不再继续执行

              if( isNaN(monthValue) ){

                  alert("请输入正确的月份!");

                  return;

              }

              // 转为数字

              monthValue = parseInt(monthValue);

              // 判断范围

              if( monthValue < 1 || monthValue > 12){

                  alert("请输入正确的月份(1--12)!");

                  return;

              }

              // 根据月份显示天数

              switch(monthValue){ // 这时不会自动转换类型,所以先转型

                  case 2:

                     alert("28天");

                     break;

                  case 4:

                  case 6:

                  case 9:

                  case 11:

                     alert("30天");

                     break;

                  default:

                     alert("31天");

                     break;

              }

           }

       </script>

    </body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值