# 函数的概念
在 JS 里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量的重复使用,此时我们就可以用 JS 中的函数
函数:就是封装了一段可被重复执行的代码块,通过此代码块可以实现大量代码的重复使用
# 函数的使用
# 声明函数
function 函数名 () { | |
// 函数体代码 | |
} | |
//function 是声明函数的关键字 | |
// 由于函数功能是为了实现某个功能才定义的,所以通常函数命名为动词,比如 getSum |
# 调用函数
函数名(); // 通过调用函数名来执行函数体代码 |
# 函数的封装
函数的封装就是把一个或者多个能通过函数的方式封装起来,对外只提供一个简单的函数式接口
# 函数的参数
# 形参和实参
在声明函数时,可以在函数名称后面的小括号里面添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递响应的参数,这些参数是实参
参数 | 说明 |
---|---|
形参 | 形式上的参数,函数定义的时候,传递的参数,当前不知道是什么 |
实参 | 实际上的参数,函数调用的时候,传递的参数,实参是传递给形参的 |
# 形参个数不匹配问题
参数个数 | 说明 |
---|---|
实参个等于形参个数 | 输出正确结束 |
实参个数小于形参个数 | 只取到形参的个数 |
实参个数小于形参个数 | 多的形参定义为 undedefined, 结果为 NaN |
function getSum (num1,num2) { | |
console.log(num1 + num2); | |
} | |
getSum(1,2); //3 | |
getSum(1,2,3); //3 | |
getSum(1); //NaN |
# 函数的返回值
# return 语句
有时候,我们会希望函数将值返回给调用者,此时通过使用 return 语句就可以实现
function getSum (num1,num2) { | |
return num1 + num2; | |
} | |
console.log(getSum(1,2)); // 3 |
# return 终止函数
- return 语句之后的代码不被执行
- return 只能返回一个值,如果逗号隔开写多个,则返回最后一个值
# 函数没有 return 返回 undefined
# break,continue,return 的区别
# break
结束当前的循环体
# continue
跳出本次循环,继续执行下次循环
# return
不仅退出循环,还能返回 return 的值,同时结束当前函数体的代码
# arguments
# 概念
我们不确定有多少参数传递的时候,可以使用 arguments 来获取,在 JavaScript 中,arguments 它实际是当前函数的一个内置对象,所有函数都内置了一个 arguments 对象,arguments 对象存储了传递的所有实参
# 特点(伪数组)
- 具有 length 属性
- 按索引方式存储数据
- 不具有数组的 push,pop 等方法
# 匿名函数的定义和调用
var fn = function () { | |
// 函数体部分 | |
} | |
fn() |