函数当参数的优缺点

1.刚开始学习编程的时候都是先是最简单的加减

int a = 1;

int b =2;

System.out.println(a+b);

打印出的结果肯定是3啦。

2.后面我们开始接触到循环,for循环。计算1加到100的和,这个所有应该都是不陌生的。

int sum = 0;
for (int i = 1; i <=100 ; i++) {
sum+=i;
}
System.out.println(sum);

打印出来的结果是5050,这个没多大问题。

3.然后我们稍微变一下,我们计算一下 1 + 2^2 + 3^2 + 4^2 +……n^2

我们在js里面编写

function num(n) {
let sum = 0;
for (let i = 0; i <= n; i++) {
sum += i * i;
}
return sum;
}

PS:在js中是用function来声明函数,let相当于Java中的int、String等。

要打开网页F12在控制台输入参数。

如果我们把一个函数当参数使用看下结果会不会不一样

function anything(n, f) {
let sum = 0;
for (let i = 1; i <= n; i++) {
sum += f(i);
}
return sum;
}

 这里可以看到结果是一样的

4.我们继续加大难度计算(1/(1+2)+2/(2+3)+3/(3+4)+4/(4+5)+5/(5+6))这个时候就不是平方、立方之类的了,加上了加法。我们就要用上一种函数当参数的方法了,并且还要多加几个参数。

function anything(n, f, comb, identity) {
let sum = identity;
for (let i = 1; i <= n; i++) {
sum = comb(sum, f(i));
}
return sum;
}

在控制台输入

anything(5, (x)=>{return x+x}, (x,y)=>{return x/y},1)

 就可以得到结果。

总结:

优点:

  1. 灵活性:通过将函数作为参数传递,我们可以在运行时决定要执行的具体逻辑,从而实现动态的行为。这使得代码更加灵活和可扩展。
  2. 可复用性:将函数作为参数传递,可以将通用的逻辑提取出来,成为一个独立的函数,可以在不同的上下文中重复使用,避免了代码的重复编写。
  3. 可组合性:通过将多个函数组合在一起,我们可以构建出更复杂的逻辑和功能。这种组合可以使代码更加模块化,易于理解和维护。

缺点 :

  1. 难以理解:对于初学者来说,理解函数作为参数传递的概念可能会比较困难,需要一定的学习和实践。
  2. 可读性较差:当函数作为参数传递时,代码的可读性可能会降低,特别是当函数的逻辑较为复杂时。

新手刚开始真的非常难受,不熟悉它的写法,在使用时也不熟悉。多写几遍会好很多,要一边写一边理清楚自己的逻辑。把函数当参数会更加的简洁、灵活,但逻辑性会更强、难度会加大。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值