1.定义
function 是定义函数的关键字,函数也称为方法
函数分为:
1.无参函数
定义无参函数,函数的()里面没有定义参数,这样的函数就是无参函数
function fun1() {
let num1=100
let num2=200
console.log(`${num1}+${num2}=${num1+num2}`);
}
fun1()
//函数必须要调用后,才会执行里面的代码
2.带参函数
// 定义带参数方法,函数的()里面需要参数,参数可以传多个,传递的参数是:实参
// 函数在定义的时候,定义的参数是:形参
function fun2(num1,num2) {
console.log(`${num1}+${num2}=${num1+num2}`);
}
// 调用带参数的方法是,如果没有传递参数,那么参数值就是underfined
fun2(100,200)
fun2(100,2000)
fun2(100,20)
fun2()
3.带返回值的函数
function fun3(num1,num2) {
let sum = num1+num2
// return关键字,只能用的函数中,用于返回函数的执行结果
return sum
}
// 调用带返回的函数,需要通过变量接受函数的返回值
let sum = fun3(100,200)
console.log(sum);
2.定义函数的几种方式
1.第一个方式:通过function关键字直接定义
function fun1(){
console.log('我是方法一');
}
fun1()
2.第二种方式:定义一个变量,接收定义的函数
let fun2 = function(){
console.log('我是方法二');
}
fun2()
3.ES6又推出了定义函数的简写方式,俗称:箭头函数
let fun3 = ()=>{
console.log('我是方法三');
}
fun3()
在箭头函数中,如果方法体只有一条语句,可以省略{}
let fun4 = (num1,num2)=>num1 + num2
console.log(fun4(100,200));
let fun5 = (num1,num2)=>console.log(`${num1}+${num2}=${num1+num2}`);
fun5(100,200)
在箭头函数中,如果方法只有一个参数,可以省略()
let fun6 = num=>console.log(num*3);
fun6(100)
在箭头函数中,如果方法体只有一条语句,并该语句是返回语句,那么在省略{}的同时,必须省略return关键字
let fun7 = _=>console.log('我是箭头函数')
fun7()
3.递归方法
什么是递归方法:就是一个方法,自己调用自己
注意:递归方法,一定要控制好合适跳出,否则就是死循环
案例1:
function calc(num){
//这个if是退出递归的条件
if(num===1) {
return num
}
return num + calc(num-1)
}
console.log(calc(20));
值是:210
案例2:
function fun2(){
let menu = parseInt(prompt('1.添加 2.修改 3.删除 4.查询 0.退出'))
switch(menu){
case 1:
alert('执行添加')
fun2() //在方法内部,又重新调用自己
break;
case 2:
alert('执行修改')
fun2()
break;
case 3:
alert('执行删除')
fun2()
break;
case 4:
alert('执行查询')
fun2()
break;
default:
alert('欢迎下次继续使用');
break;
}
}
fun2()