学习这东西真的是急不得,所以好事多磨吧。
————尼古拉斯基·颖出诗潘
最近的学习任务是Javascript的函数及应用,在学习过程中有没有人对于形参和实参、调用函数、function...这些东西迷糊的呢!哈哈哈别着急,博主我最近就是这么过来的。用一点耐心,看完这篇博客你会更好理解!🤩
话不多说,直接上正菜!
【例题1】写一个函数,用户输入任意两个数字的任意算术运算(简单的计算器小功能),并能弹出运算后的结果。
<script>
function getResult(num1, num2) {
return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
// 利用数组来输出多个结果
}
var n1 = 1;
var n2 = 3;
// 定义一个变量就可以得到任意两数之间进行算术运算
// alert(change);
console.log(getResult(n1, n2));
</script>
借这个例题我来给大家讲一讲这个运行原理哈。
计算机就像一个计算器来理解我们输入的数字:
function里面封装了函数进行计算的程序,然后我们输入数字(实参)并且要调用函数就要写console.log(形参),然后return后面的结果就是返回到输出屏上(但用户还看不见),再用console.log()打印输出到屏幕上。
【例题2】写一个函数,用户输入任意两个数字的最大值,并能弹出运算后的而结果。
<script>
function getMax(num1, num2) {
if (num1 > num2) {
// return num1;
console.log(num1);
} else {
// return num2;
console.log(num2);
}
}
// var n1 = 2,
// n2 = 4;
getMax(n1, n2);
</script>
【例题2】的解释:
function getMax(num1, num2) { } //这个是定义一个函数 getMax(num1,num2) 是形参
if (num1 > num2) {
// return num1;
console.log(num1);
} else {
// return num2;
console.log(num2);
} //这一段 是被封装起来的,然后会在后面不断重复使用的代码
getMax(2, 4); //调用函数(实参)在getMax(2,4)附上实际参数。
如果前两道题还是不太好理解,就来举一个更简单的例子。
比如说,你要给许多学生登记姓名,年龄,那我们给 形参给name,age;
在function{ }里面写你会一直使用的函数执行过程;
然后实参就是赋值给调用函数,比如 name1=L4,age1=18;name2=Z3,age2=19.
看完这些,其实我还发现一个道理,那就是我们需要把计算机如何执行我们的代码的这个原理得弄清楚!所以我们后面还需要继续学习:作用域、作用域链、域解析,这样能帮助我们更好的理解!所以,一开始接触还是会有点摸不到头也不要慌~
【例题3】写一个函数,一个数组中选出奇数元素并将他们求和取平均值。
<script>
var newarr = [];
var sum = 0;
var average = 0;
// 函数程序中获得一个数组中的奇数合集
function getOdd(arr) { //让程序在function函数里面运行
for (var i = 0; i < arr.length; i++) {
if (arr[i] % 2 != 0) {
newarr[newarr.length] = arr[i];
}
}
// 再遍历将新数组中的所有奇数进行求和
for (var i = 0; i < newarr.length; i++) {
sum = sum + newarr[i];
}
// 求这个奇数和的平均数
return average = sum / newarr.length;
}
var arr1 = [12, 11, 23, 1, 3, 2, 4, 5];
console.log(getOdd(arr1));
console.log(sum);
console.log(newarr);
</script>
看完有什么感受呢?!可以给我留言探讨探讨!
代码免费附上了哈!有需要直接拿吧~可以的话再给个一键三连吧~