函数作用:实现代码的复用(重复利用),一处维护,到处可用
函数介绍
函数:function,可以理解是一种特殊的变量,保存的是一堆代码
- 代码不会自动执行
- 必须触发,代码才会执行
函数语法
// 函数语法
function 函数名(){
函数体:存储的代码,可以写任何内容
}
// 代码不会自动运行
调用函数
函数名();
定义函数:九九乘法表:
function chengFa99() {
for (let i = 1; i < 10; i++) {
for (let j = 1; j <= i; j++) {
document.write(`${j} * ${i} = ${j * i} `);
}
document.write(`<br>`);
}
}
// 调用函数
chengFa99();
// 多次调用
chengFa99();
函数-参数
函数参数:让函数拥有一段代码,但是却可以达成不同的效果, 参数的目的,让函数变得灵活.
函数参数:放到()中
-
参数有不同的名字:
1. 形参
定义函数的()放的是名字(变量):这里的参数叫做 形参:形式参数- 形参不限定数量,多个使用逗号分隔 (a,b,c){} 三个形参
- 形参建议:见名知意 验证用户名和密码(
username
,password
){}
2. 实参
调用函数的()放的是数据(字面量、变量、其他方式产生的数据):这里的参数叫做 实参:实际参数- 实参也不限定数量,与形参保持一致
- 实参的顺序与形参的顺序一致
- 实参的本质:给形参赋值 验证用户名和密码('admin','123456'); // admin赋值给username变量,123456赋值给password这个变量
函数-返回值
函数返回值:考虑到函数实现功能后得到了结果,但是不应该去直接操作结果,应该将结果交给函数调用者去操作,是函数返回给调用处的最终处理结果
.
- 是函数一定有返回值:默认的是undefined
function test() {
// 空函数
}
let res = test();
console.log(res); // undefined
- 如果需要函数返回一个有价值的数据:可以使用return 修改函数的返回值
function go() {
return 'hello world'; // 函数返回一个字符串 'hello world'
}
res = go();
console.log(res);
返回值return特殊性
- return的特点:return代表返回值,系统只要见到return,立马结束函数:如果后面还有代码,都不会执行了
- return未必一定写在函数的最后一行
举个例子:从0开始累加,当累加结果超过10的时候,是哪个数据
function getNum() {
let res = 0;
for (let i = 0; true; i++) {
res += i;
// 如果res已经大于10:应该结束
if (res > 10) return i;
}
}
console.log(getNum());
// 等价于:let 变量 = getNum() console.log(变量);