求1~100累加和(函数)
<!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>
// 1.声明函数
function getSum() {
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum);
}
// 2.调用函数
getSum();
getSum();
</script>
</body>
</html>
带参数的函数
<!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>
// 1.函数可以重复相同的代码
function cook() {
console.log('酸辣土豆丝');
}
cook();
cook();
// 2.我们可以利用函数的参数实现重复不同的代码
// functon 函数名(形参1,形参2,...){
// }
// 函数名(实参1,实参2,...);
// 3.形参和实参执行过程
function cook1(aru) { //形参是接受实参的 aru = '酸辣土豆丝' 形参类似于一个变量
console.log(aru);
}
cook1('酸辣土豆丝');
cook1('土豆片');
</script>
</body>
</html>
函数求任意两数的和
<!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>
// 1.用函数求任意两数的和
function getSum(num1, num2) {
console.log(num1 + num2);
}
getSum(1, 2);
getSum(2, 4);
// 2.用函数求任意两数之间所有数的和
function getSum1(start, end) {
var sum = 0;
for (var i = start; i <= end; i++) {
sum += i;
}
console.log(sum);
}
getSum1(1, 100);
getSum1(1, 20);
// 3.注意点
// (1) 多个参数间的逗号隔开
// (2) 形参可以看做是不用声明的变量
</script>
</body>
</html>
形参实参个数匹配
<!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 getSum(num1, num2) {
console.log(num1 + num2);
}
// 1.若实参的个数和形参的个数一致 则正常输出结果
getSum(1, 2);
// 2.若实参的个数多于形参的个数 则回取到形参的个数
getSum(1, 2, 3);
// 3.若实参的个数和形参的个数 多余形参定义为 underfined 结果为NaN
// 形参可看做不用声明的变量 num2 是一个变量但没有接受值 结果就是underfined
getSum(1); //NaN
</script>
</body>
</html>
函数的返回值
<!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>
// 1.函数是做某件事情或者实现某种功能
// (1)
function cook(aru) {
console.log(aru);
}
cook('酸辣土豆丝');
// (2)
function cook1(aru) {
return aru;
}
console.log('酸辣土豆丝');
// (3)
function getSum(num1, num2) {
return num1 + num2;
}
console.log(getSum(1, 2));
// 2.函数的返回值
// functon 函数名(){
// return 需要返回的结果;
// }
// 函数名();
// (1) 我们函数只是实现某种功能,最终的结果需要返回给函数的调用者 函数名() 通过 return 实现
// (2) 只要函数遇到 return 就把后面的结果 返回给函数的调用者 函数名() = return 后面的结果
// 3.代码验证
function getResult() {
return 666;
}
getResult(); //getResult() = 666;
console.log(getResult());
</script>
</body>
</html>
求最大值(函数)
<!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>
// 1.求两个数间的最大值(函数)
function getMax(num1, num2) {
// (1)
// if (num1 > num2) {
// return num1;
// } else {
// return num2;
// }
// (2)
return num1 > num2 ? num1 : num2;
}
console.log(getMax(1, 2));
console.log(getMax(90, 3));
// 2.求一个数组中的最大值
// 错误:
// var arr = [2, 4, 2, 45, 70, 53, 26, 7, 100];
// function getMax1(arr) {
// for (var i = 0; i < arr.length - 1; i++) {
// for (var j = 0; j < arr.length - 1; j++) {
// if (arr[j] > arr[j + 1]) {
// return arr[j];
// }
// }
// }
// }
// console.log(getMax1(arr));
// 正确:
function getArrMax(arr) {
var max = arr[0];
for (var i = 1; i <= arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
// console.log(getArrMax([2, 4, 2, 45, 70, 53, 26, 7, 100]));
var re = getArrMax([2, 4, 2, 45, 70, 53, 26, 7, 100]);
console.log(re);
</script>
</body>
</html>
函数返回值注意事项
<!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>
// 1. return 终止函数
function getSum(num1, num2) {
return num1 + num2; //return 后面的代码不会被执行
alert('I CAN NOT DO ANYTHING!');
}
console.log(getSum(1, 2));
// 2. return只能返回一个值
function fn(num1, num2) {
return num1, num2; //返回的结果是最后一个值
}
console.log(fn(4, 5));
// 3. 求任意两个数的 加减乘除
function getResult(num1, num2) {
return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
}
var re = getResult(8, 2); // 返回一个数组
console.log(re);
// 4. 函数若有return 则返回return 后面的值,若没有return 则返回undefined
function fun1() {
return 666;
}
console.log(fun1()); //返回666
function fun2() {
}
console.log(fun2()); //返回undefined
</script>
</body>
</html>