1 函数
// 1.1函数 就是封装了一段可以被重复使用的执行调用的代码
2 函数的使用
2.1 声明函数
// function 函数名() {
// 函数体
// }
// 注意 function是声明函数的关键字,函数名一般是动词
2.2 调用函数
// 函数名();
// 通过调用函数来执行函数代码
2.3 案例
// 利用函数计算1-100累加和
<script>
function getSum() {
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum);
</script>
3 函数参数
3.1 函数可以重复相同的代码
<script>
function cook() {
console.log('五谷鱼粉');
}
cook();
cook();
</script>
3.2 函数可以重复不同的代码
function 函数名 (形参1,形参2,...) {
// 在声明函数的小括号里面是 形参 (形式上的参数)
}
函数名(实参1,实参2,...);
// 在函数调用的小括号里面是 实参 (实际参数)
3.3 形参和实参的执行过程
<script>
function cook(aru) { // 形参是接收实参的 aru = '酸辣土豆'
console.log(aru);
}
cook('酸辣土豆');
cook('小炒肉');
// 函数的参数可以有,也可以没有,不限个数
</script>
3.4 案例的和
// 1 利用函数求任意两个数的和
<script>
function getSum(num1, num2) {
console.log(num1 + num2);
}
getSum(1, 3);
</script>
// 2 利用函数求任意两个数之间的和
<script>
function getSums(start, end) {
sum = 0;
for (var i = start; i <= end; i++) {
sum += i;
}
console.log(sum);
}
getSums(1, 100);
getSums(1, 10);
</script>
// 3 注意点
// 多个参数之间使用逗号隔开
// 形参可以看成是不用声明的变量
3.4 形实匹配问题
<script>
function getSum(num1, num2) {
console.log(num1 + num2);
}
// 如果形参和实参个数一致,则正常输出
getSum(1, 3);
// 如果实参的个数 多于 形参的个数
// 会取到形参的个数
getSum(1, 2, 3);
// 如果实参的个数 小于 形参的个数
// 形参可以看做是不用声明的变量,num2是一个没有接受值的变量,结果是undefined
getSum(1, ); // NaN
</script>
4 返回值return
4.1 return语句
// function 函数名() {
// return 需要返回的结果;
// }
// 函数名();
(1)我们函数只是实现某种功能,通过return来把结果进行返回给调用者函数名
(2) 只要遇到return就把后面结果返给函数调用者 函数名()=return后面的结果
4.2 案例
// 1 求任意两个数的和
<script>
function getSum(num1, num2) {
return num1 + num2
}
console.log(getSum(1, 2));
</script>
// 2 利用函数求任意两个数的最大值
<script>
function getMax(num1, num2) {
if (num1 > num2) {
return num1;
} else {
return num2;
}
// 三元运算符语句
//return num1 >num2 ? num1 :num2;
}
console.log(getMax(1, 5));
</script>
// 3 利用函数求数组[5,2,99,101,67,77]中的最大值
<script>
function getArrMax(arr) { // arr 接收一个数组
var max = arr[0];
for (var i = 1; i <= arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
getArrMax([5, 2, 99, 101, 67, 77]); // 实参是一个数组送过去
console.log(getArrMax([5, 2, 99, 101, 67, 77]));
// 输出结果的简单方法
// 经常使用一个变量来接收函数的返回结果,使用更加简单
var re = getArrMax([5, 2, 99, 101, 67, 77]);
console.log(re);
</script>
4.3 return 终止函数
<script>
function getSum(num1, num2) {
return num1 + num2;
alert('会不会执行呢?')
}
console.log(getSum(1, 2));
// return 语句后面的代码不被执行
function fq(num1, num2) {
return num1, num2;
}
console.log(fq(1, 2));
// return只能返回一个值,以最后面的值为准
// 实现返回多个值(数组)
function getResult(num1, num2) {
return [num1 + num2, num1 - num2, num1 * num2]
}
var re = getResult(1, 2); // 返回的是一个数组
console.log(re);
</script>
// 如果函数如果有return,返回return后面的值,如果没有,返回undefined
5 课后作业
// 1 写一个函数,用户输入任意两个数的任意运算(简单的计算器),并弹出结果
// 2 写一个函数,用户输入任意三个不同数字的最大值,并弹出结果
// 3 写一个函数,用户输入一个数字判断是否是素数,并弹出结果