目标
- 能够讲出为何需要函数
- 能够根据语法书写函数
- 能够根据需求封装函数
- 能够讲出形参和实参 的传递过程
- 能够使用函数的返回值
- 能够使用arguments 获取函数的参数
1. 函数的概念与使用
函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。
函数再使用时分为两步: 声明函数和调用函数.
1.1 函数的声明与调用
和变量命名基本一致
Ø尽量小驼峰式命名法
Ø前缀应该为动词
Ø命名建议:常用动词约定
动词 | 含义 |
---|---|
can | 判断是否可执行某个动作 |
has | 判断是否含义某个值 |
is | 判断是否为某个值 |
get | 获取某个值 |
set | 设置某个值 |
load | 加载某些数据 |
1.2 封装
函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
2.函数的参数
2.1形参和实参
在声明函数时, 小括号中添加的参数称为形参,而在调用该函数时,传递小括号中的的参数称为实参。
// 带参数的函数声明
function 函数名(形参1, 形参2 ,形参n /*可以定义任意多的参数,用逗号分隔*/) {
// 函数体
}
// 函数调用
函数名(实参1, 实参2, 实参n);
//如果实参与形参'变量'不对等,实参多于形参,多余的部分不生效,实参少于形参,多余的形参为空值
参数 | 说明 |
---|---|
形参 | 被函数定义的’变量’, 如果没有实参传递参数, 形参内容则为 空值 |
实参 | 实际调用时, 传递给函数的参数 |
参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。
小结
- l 函数可以带参数也可以不带参数
- l 声明函数的时候,函数名括号里面的是形参,形参的默认值为 undefined
- l 调用函数的时候,函数名括号里面的是实参
- l 多个参数中间用逗号分隔
- l 形参的个数可以和实参个数不匹配,但是结果不可预计,我们尽量要匹配
3. 函数的返回值
3.1 Return 语句
- 在使用 return 语句时,函数会停止执行,并返回指定的值
如果函数没有 return ,返回的值是 undefined
// 声明函数
function 函数名 (){
...
return 需要返回的值; //return相当于输出,具有中断属性;
}
// 调用函数
函数名(); // 此时调用函数就可以得到return返回的值
3.2 Break, Continue, Return三者区别
break :结束当前的循环体(如 for、while)
- continue :跳出本次循环,继续执行下次循环(如 for、while)
- return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码
4. arguments的使用
arguments是js中自带的内置对象. 它可以接受被函数传递的所有参数.
arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:
- 具有 length 属性
- 按索引方式储存数据
- 不具有数组的 push , pop 等方法
5. 函数可以调用另一个函数
每个函数块都是独立的代码块,可以存在相互调用的情况
6. 函数的两种声明方式
1. 自定义函数方式(命名函数)
// 声明定义方式
function fn() {...}
// 调用
fn();
2. 函数表达式方式(匿名函数)
// 这是函数表达式写法,匿名函数后面跟分号结束
var fn = function(){
...
};
// 调用的方式,函数调用必须写到函数体下面
fn();
- 因为函数没有名字,所以也被称为匿名函数
- 函数调用的代码必须写到函数体后面