本文目录
1. 背景
上一篇,我们主要给大家剖析了函数的作用——经验复用体。
然后我们分析了,函数有两个要素,一个是函数名,一个是函数体。函数名用来区分经验,比如是开车的经验还是网购的经验;函数体用来保存经验的具体操作步骤。
根据上面的分析,我们推测出,函数大概应该是这样的:
这是一个函数: 开车
{
console.log("1.打开车门");
console.log("2.系好安全带");
console.log("3.启动车辆");
console.log("4.踩油门,开始驾驶");
}
当然啦,咱们并不是JS语言的创造者,所以咱们是没法决定JS函数到底怎么写的。更何况JS语言是外国人发明的,更不可能用这是一个函数
这样的中文字样。
2. 揭开JS函数的面纱
我们来看看JS函数的真是面目,就以开车函数为例:
function driveCar() {
console.log("1.打开车门");
console.log("2.系好安全带");
console.log("3.启动车辆");
console.log("4.踩油门,开始驾驶");
}
详细的解释下:
function
是函数的意思,这是JS语言专门用来定义函数的关键词,表示后面的内容就是一个函数。driveCar
是函数的名字,一个程序会有很多很多函数,例如开车函数、网购函数、加法函数等等等等,所以必须给函数起名来区分不同的函数。driveCar()
后面带了一个小括号,这个是函数的特色,也就是函数名字后面要带一个小括号。后续大家会学到,这个括号其实还有更多有趣的功能。- 最后,大括号内部可以写很多行代码,大括号形成一个代码块,这个代码块属于函数,所以可以称为
函数体
。
这其中最重要的,就是函数名和函数体了,函数名代表经验的类型,函数体代表经验具体的内容。
3. 函数的使用
我们人类的经验不断的积累,积累经验的意义在于下次遇到同类事务的时候,可以使用之前积累的经验。
同样,函数的意义,在于使用,专业一点,可以说调用函数
,就是使用函数的意思。
我们先看下没有函数时,我们要教3个人开车,代码需要这么写:
// 教1个人开车
{
console.log("1.打开车门");
console.log("2.系好安全带");
console.log("3.启动车辆");
console.log("4.踩油门,开始驾驶");
}
// 教1个人开车
{
console.log("1.打开车门");
console.log("2.系好安全带");
console.log("3.启动车辆");
console.log("4.踩油门,开始驾驶");
}
// 教1个人开车
{
console.log("1.打开车门");
console.log("2.系好安全带");
console.log("3.启动车辆");
console.log("4.踩油门,开始驾驶");
}
使用函数后,我们可以先定义函数,在需要教人开车时,直接调用函数即可:
// 定义函数
function driveCar() {
console.log("1.打开车门");
console.log("2.系好安全带");
console.log("3.启动车辆");
console.log("4.踩油门,开始驾驶");
}
// 教1个人开车
driveCar();
// 教1个人开车
driveCar();
// 教1个人开车
driveCar();
也就是说,我们通过运行driveCar();
代码,即可让函数执行一次。
注意定义函数时,函数内部的代码时不执行的,只是一种经验规则的保存。只有在调用函数时,函数体才会执行。
4. 小结
经过本节的学习,其实可以发现,调用函数的方式,大局观更强。我们程序员不用事必躬亲,教给每个人怎么开车,只需要把开车这件事情写成一个函数,每次需要教开车时调用函数就行了。