1定义方法方式一:使用function关键字直接定义。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 这种方式定义的方法存在提升效果,会将该方法提升到当前作用域的最顶端定义。
function fun1(){
console.log('你好!我是fun1');
}
fun1()
</script>
</body>
</html>
2.方式二:定义变量接收方法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 这种方式定义的方法不存在提升效果,所以,不能在定义方法之前调用该方法。
let fun2 = function(){
console.log('你好!我是fun2');
}
fun2()
</script>
</body>
</html>
3. 方式三:使用箭头函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let fun3 = ()=>{
console.log('你好!我是fun3');
}
fun3()
</script>
</body>
</html>
4.递归算法:就是一个方法,在方法体的某个地方,重新调用自己。例如:计算1-20之间数的累加。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function calc(num){
// 这个if就结束递归的判断
if(num<=1){
//注意:方法在遇到return关键字后,就结束了
return 1
}
let sum = num + calc(num-1)
return sum
}
let sum2 = calc(20)
console.log(sum2);
</script>
</body>
</html>