14-什么是函数
<script> // 1. 求 10~100的累加和 var sum = 0; for (var i = 10; i <= 100; i++) { sum += i; } console.log('10-100的累加和是:'+sum); // 2. 求 10~50的累加和 var sum = 0; for (var i = 10; i <= 50; i++) { sum += i; } console.log('10-50的累加和是:' + sum); // 3. 函数 function getSum(num1,num2) { var sum = 0; for (var i = num1; i <= num2; i++) { sum += i; } console.log(num1+'-'+num2+'的累加和是:'+sum); } getSum(65,572); </script>
15-函数的使用
<script> // 函数使用分为两步:声明函数 和 调用函数 // 1. 声明函数 // function 函数名() { // // 函数体 // } function sayHi(){ console.log('Hi~~~~~'); } // (1) function 声明函数的关键字 全部小写 // (2) 函数是做某件事情,所以函数名一般是动词 // (3) 函数不调用,自己不会执行 // 2. 调用函数 // 函数名(); sayHi(); </script>
16-利用函数封装求1-100的和
<script> // 利用函数计算1-100之间的累加和 // 1. 声明函数 function getSum(num1,num2) { var sum = 0; for (var i = num1 ; i <= num2; i++) { sum += i; } console.log(num1+'-'+num2+'的和是:'+sum); } // 2. 调用函数 // getSum(1,100); getSum(num1 = Number(prompt('please input the original number.')), num2 = Number(prompt('please input the the last.'))) </script>
17-帯参数的函数
<script> // 1. 函数可以重复相同的代码 function cook() { console.log('我想吃皮蛋拌豆腐'); } cook(); cook(); // 2. 我们可以利用函数的参数实现函数重复不同的代码 // function 函数名(形参1;形参2...){ // 在声明函数的小括号里面是形参,形式上的参数 // } // 函数名(实参1;实参2...); // 在函数调用的小括号里面是实参(实际参数) // 3. 形参和实参的执行过程 function cook(aru) { // 形参是接收实参的:aru='酸辣土豆丝',形参类似于一个变量 console.log(aru); } cook('酸辣土豆丝'); // cook('我想吃山楂冰淇淋'); </script>
18-利用函数求任意两个数的和
<script> // 1. 利用函数求任意两个数的和 function getSum(num1,num2) { var sum = 0; sum = num1 + num2; console.log(num1+'和'+num2+'的和是:'+sum); } getSum(1,3); // getSum(num1=prompt(Number('please input a number:'),num2=prompt(Number('please input the second number: ')))); // 2. 利用函数求任意两个数之间的和 function getSum1(n1,n2) { var sum = 0; for (var i = n1; i <= n2; i++) { sum += i; } console.log(sum); } getSum1(1,10) // 3. 注意点 // (1)多个参数之间用逗号隔开 // (2)形参可以看做是不用声明的变量 </script>
19-函数形参、实参个数匹配
<script> // 函数形参实参个数匹配 function getSum(num1,num2) { console.log(num1 + num2); } // 1. 形参和实参的个数一致,正常输出结果 getSum(1,2); // 2. 如果实参的个数多余形参的个数, 会取到形参的个数 getSum(1,2,3); // 3. 如果实参的个数小于形参的个数,会 getSum(1); </script>
20-函数的返回值
<script> // 函数是做某件事或者实现某种功能 // function cook(aru) { // console.log(aru); // } // cook('大肘子'); // 2. 函数的返回值格式 // function 函数名() {| // return 需要返回的结果; // } // 函数名(); // (1) 我们函数只是实现某种功能,最终的结果 需要返回给函数的调用者——函数名(),这是通过return 实现的 // (2) 只要函数遇到return就把后面的结果 返回给函数的调用者 函数名() =return 后面的结果 // 3. 代码验证 // function getResult() { // return 666; // } // getResult(); // 这一步不含打印步骤,无法得到值 // console.log(getResult()); // 打印函数 // function cook(aru) { // return aru; // } // console.log(cook('芒果冰淇淋')); // 4. 求任意两个数的和 function getSum(num1, num2) { return num1 + num2; } console.log(getSum(5,457)); </script>
21-求两个数的最大值(函数版)
<script> // 利用函数 求两个数的最大值 function getMax(n1,n2) { // if (n2 > n1) { // return n2; // }else{ // return n1; // } return n1 > n2 ? n1: n2; // 三元运算符 } console.log(getMax(534,56)); console.log(getMax(534,4468)); console.log(getMax(534, 55486)); </script>
22-求数组中的最大值(函数版)
<script> // 求数组[5,2,99,101,67,77] 中的最大数值 function getArrMax(arr) { // arr 接受一个数组 var max = arr[0]; for (var i = 0; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } } return max; } // getArrMax([5,2,99,101,67,77]) // 实参是一个数组送过去 // 在实际开发里面,我们经常用过一个变量来接收 函数的返回结果,然使用更简单 // var re = getArrMax([13,54,65,4,6582,4,8,2,3,5]); var re = getArrMax([13,46,4,564,65,43,218,64, 5]); console.log(re); // 2. return 只能返回一个值 function fn(num1, num2){ return num1,num2; } console.log(fn(1,2)); </script>
23-函数返回值注意事项
<script> // 1. return 终止函数 function getSum(num1,num2) { return num1+num2; // return后面的代码时不会被执行的 alert('这行代码是不会被执行的嗷!') } console.log(getSum(1,2)); // 2. return 只能返回一个值 function fn(num1, num2) { return num1, num2; // 返回的结果时最后一个值 } console.log(fn(1, 2)); // 3. 我们求任意两个数的 加减乘除结果 function getResult(num1,num2) { return [num1+num2,num1-num2,num1*num2,num1/num2]; } var re = getResult(1,2) // 返回的是一个数组,可以用for遍历取出 console.log(re); // 4. 我们的函数如果有return,则返回的是return后面的值;如果没有,就返回undefined function fun1() { return 666; } console.log(fun1()); // 666 function fun2() { } console.log(fun2()); </script>
大作业
<script> // ④写一个函数,用户输入任意两个数字的任意算术运算(简单的计算器小功能),并单出运算后的结果 function cal2n(n1,n2) { return [n1+n2,n1-n2,n1*n2,n1/n2]; } var re = cal2n(5574,80); console.log(re); for (var i = 0; i < re.length; i++) { // 单独输出 console.log(re[i]); } // ②写一个函数,用户输入任意两个数字的最大值,并能出弹运算后的结果 function getMax(n1,n2) { if(n1 > n2) { return n1; }else { return n2; } } re = getMax(5654,56464); console.log(re); // 写一个函数,用户输入任意三个不同数字的最大值,井单出运算后的结果 function getMax3(arr) { var max = arr[0]; var endNum = 3; // 这是决定能比较多少个不同个数字的值 for (var i = 1; i < endNum; i++) { if (arr[i] > max) { max = arr[i]; } } return max; } var re = getMax3([50, 4553, 455]); console.log(re); // ④写一个函数,用户输入一个数判断是否是素数,并返弹出回值(又叫质数,只能被1和自身整数的数) function getPrime(num) { for (var i = 2; i < num-1; i++) { if (num % i == 0) { return num+'不是素数,因数有'+i; } } return num+'是素数'; } var re = getPrime(743); console.log(re); </script>