第一节:函数/方法
1.1 什么是函数
函数是指一段可以直接被另一段程序或代码引用的程序或代码。也叫做子程序、(OOP中)方法。一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。
由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。
函数:一段具有特定的功能的代码块。需要时调用,调用时执行!(自己不会主动执行!)
if(){} : 控制代码是否执行。
for(){}: 控制代码执行多少次。
function(){}: 控制代码何时执行。调用时执行。
1.2 函数分类
-
库函数(系统函数)
js给我们提供的具有特定功能的代码块。
alert() prompt() document.write() Number() parseInt() 。。。
-
自定义函数( 重点 )
自己定义函数,根据自己的需求来定义功能。
1.3 函数的定义和使用
语法:
function 函数名(参数1,参数2,参数3,...)
{
函数功能代码;
return 函数返回值;
}
说明:
function
:用于定义函数的关键字,不能写错。
函数名
:使用者自己定义,命名规则:字母,数字,下划线,$,数字不能开头。小驼峰的命名方式,例如: getNum()
参数列表
:在函数名后面的小括号中定义参数列表,参数可多可少,也可以没有。其实参数就是变量,可以接受数据。
函数功能代码
:当前函数要实现的特定功能,是函数的核心内容。
return 返回值
:在函数执行完成之后,可以通过return关键字,返回函数处理的结果。可以省略。
函数的使用:如果一个功能代码,需要被反复使用,此时建议将该代码定义为函数。另外一种情况,如果在一个处理过程中,部分代码太多,此时可以将此部分代码封装成函数,优化代码结构。
示例:洗衣服
// 定义函数
function xiyifu(){
document.write("将衣服放进洗衣机");
document.write("放水");
document.write("加洗衣粉");
document.write("开始洗衣服");
document.write("甩干");
}
//调用函数
xiyifu();
//调用函数
xiyifu();
xiyifu();
1.3.1无参无返回值的函数
// 定义函数
function sayHello(){
alert("你好!");
}
//调用函数
sayHello();
1.3.2无参有返回值的函数
// 返回值的使用
function getNum(){
// 使用return关键返回数据
return 200;
}
// 调用函数,因为函数有返回值,所以可以进行接收
var res = getNum();
document.write(res);
//-----------------------------------------------------
var names = ["张三","李四","王五","赵六","孙琪"];
// 返回值的使用
function getNum(){
// Math.random():
//0-0.999999 -> (0-0.999999)*10 ->
//0-9.9999999 -> parseInt(0-9.9999) -> 0-9 -> (0-9)+1 ->1-10
return parseInt(Math.random()*5)+1; // 1-5
}
// 获取随机数,作为下标
var r1 = getNum();
//var r2 = getNum();
//var r3 = getNum();
//alert(r1+" "+r2+" "+r3);
alert("中将的人:"+names[r1-1]);
注意:如果函数的最后没有使用return返回结果,此时如果使用变量接受函数,则接受的数据为undefined。
function getNum(){
document.write(200);
}
// 函数没有返回值,变量什么都接收不到,此时变量是undefined
var res = getNum();
alert(res);
1.3.3有参数无返回值的函数
// 定义函数
function sayHello(mingzi){