函数(方法)
1.函数的概念:函数是一个可以重复使用的程序模块,该程序模块可以完成一个特定的功能
2.函数的定义:function函数名([参数]){
函数体语句
}
(1)function:是关键字,必须小写
(2)函数名:用户标识符(用户自定义)--建议:见名知意
(3)[参数]:`()`不能省略,参数是可选的(函数可以有参数,也可以没有参数)
(4)`{}`不能省略,表示函数的控制范围
(5)函数体语句:实现功能的代码
函数的调用(调用函数)
(1)带返回值的函数(函数体中有return语句的函数)
let/var 变量 = 函数名([参数])
注意:关于函数的返回值
(1)函数是否要返回值只有具体的需求决定
(2)函数返回值由reture语句来完成,在函数中一旦执行了reture语句,当前函数就结束运行
无返回值的函数调用
函数名([参数值])
函数的参数:函数在运行时需要外部的数据才能实现具体的功能。
这个外部的数据就是参数
1.形参:形式参数,是在函数定义时出现在函数首部的参数。
形参没有实际值,只是一个占位符
2.实参:实在参数,是函数在调用时出现在函数首部的参数,
实参表示的是一个实际值
形参是用来接收实参的
(形参)和(实参)的参数之间用逗号隔开
在函数调用时参数的传递方向是 :实参--->形参
(传递方向是单向的,当形参发生改变是不会影响到实参)
函数参数的数量:js中允许函数的形参和实参数量不同
1.实参的数量多于形参的数量:函数可以运行,多余的实参会被忽略
2.实参的数量少于形参的数量:多出的形参是一个已声明未赋值的变量,他的值是undefined
arguments对象的使用:
1.是内置对象:已经定义好的,用户只要使用即可
2.作用:调用函数时,函数的实参都保存在arguments对象中
强调:每个函数内部都有一个arguments对象,本质是一个数组,数组保存的是调用函数传递的实参
函数表达式;
1.定义:将定义的函数赋给一个变量,通过变量完成函数的调用和参数传递(匿名函数)
var / let /const 变量名 = function([参数]){
函数体语句
}
将一个匿名函数赋值给变量,函数的调用和参数的传递是通过变量完成的
2.调用:变量名([参数])
递归函数
1.递归调用:函数自己调用自己(即在函数的函数体语句中调用自己)
2.递归算法:
(1)用递归方式解决问题的前提
a.问题可以分解,分解得到的新问题的解法与原问题的解法相同
b.问题的分解过程必须有明确的结束条件
(2) 递归的过程
a.自上而下分解问题:得到最简单的问题的解
b.自下而上回溯得到原问题的解
3. 代码实现