当前位置: 首页 > 面试题库 >

为什么要用纯函数?

宗政海
2023-03-14
本文向大家介绍为什么要用纯函数?相关面试题,主要包含被问及为什么要用纯函数?时的应答技巧和注意事项,需要的朋友参考一下

在此之前要先了解什么是纯函数,简单来说纯函数的定义有两个:
1.返回的结果只依赖于传入的参数。
2.执行过程中不产生副作用。
在这里就需要了解到什么是副作用
1.改变了外部变量或者对象属性
2.触发任何外部进程
3.发送http请求
4.调用其他有副作用的函数
5.……
那么我们为什么要用纯函数呢,从定义来看,我们可以知道纯函数不管你在什么时候请求它,只要参数是一样的,那返回的结果就肯定是一样的。
然后对于副作用我的理解是一个函数的功能要单一 ,你不能即在负责计算或者什么别的行为的同时还负责http请求什么的,发起http请求应该让另外一个函数去单独实现。
然后另外一个函数虽然产生了副作用,但是它的返回结果只依赖于传入的参数(比如链接)。这样做的好处有方便测试和后期维护,如何你一个函数负责多个功能,那后面估计看着这个函数都很难受。

 类似资料:
  • 通读Rust这本书,我遇到了一个有趣的话题——发散函数: Rust对“发散函数”有一些特殊的语法,这些函数不会返回: 发散函数可以用作任何类型: 发散函数的用例是什么?书上说 惊慌失措!()导致当前执行线程因给定消息而崩溃。因为这个函数会导致崩溃,它永远不会返回,所以它的类型是

  • 本文向大家介绍为什么要用 redis ?为什么要用缓存?相关面试题,主要包含被问及为什么要用 redis ?为什么要用缓存?时的应答技巧和注意事项,需要的朋友参考一下 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能: 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓

  • 本文向大家介绍JavaScript中的纯函数是什么?,包括了JavaScript中的纯函数是什么?的使用技巧和注意事项,需要的朋友参考一下 纯功能 甲纯函数是一个 确定性函数。这意味着每次传递相同的输入时,该函数将返回相同的输出。用数学术语来说,它只是一个定义明确的函数。 一个纯函数具有以下特性 它仅取决于自己的论点。 它不会尝试将变量更改为超出其范围。 它不会产生任何副作用。 以下示例不是纯函数

  • 问题内容: 我有一个像这样的有角度的应用程序: 带有相应的标记: 可见的输出是三个红色列表项,如预期的那样。但是该语句总共记录了6次到控制台,这意味着该视图被渲染了两次: 为什么? JSFiddle 问题答案: Angular 循环至少两次评估ngStyle属性- 一次获取值,一次检查其是否已更改。实际上,它一直在迭代直到值稳定为止,因此有可能多次检查该值。 这是一张图片来说明这一点: 这是一篇很

  • 问题内容: 原始问题: 当我的JavaScript调用的功能在页面下方而不是在调用页面的下方定义时,JSHint会抱怨。但是,我的页面是用于游戏的,在下载全部内容之前,不会调用任何函数。那么为什么订单功能出现在我的代码中很重要? 我在里面吟。看来我需要花另一天的时间才能重新排序六千行代码。使用javascript的学习曲线一点也不陡峭,但是非常糟糕。 问题答案: tl; dr 如果在加载完成之前不

  • 本文向大家介绍你知道什么是纯函数吗?相关面试题,主要包含被问及你知道什么是纯函数吗?时的应答技巧和注意事项,需要的朋友参考一下 纯函数是个计算机术语,这点与语言无关。 纯函数的特征是确定了输入就一定可以确定输出,并且无副作用。 举例子 ,我们在Redux设计模式下,reducer就是一个个的纯函数,我们只是根据参数,按照规则创建新的state,对于老的state,我们只消费,不修改。