您的位置:首页 > Web前端 > JavaScript

传智博客 js学习(二)

2016-03-05 14:27 423 查看

1.1. JavaScript函数基础

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

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

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

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

functionfunctionName(arg0, arg1, ... argN) {

statements

}

例如:

functionsayHi(sName, sMessage) {

alert("Hello " + sName + sMessage);

}

调用函数?

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

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

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

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

函数的返回值

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

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

functionsum(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可以有,也可以没有。

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

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

参数:

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="显示天数" onclick="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>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: