甲纯函数是一个 确定性函数。这意味着每次传递相同的输入时,该函数将返回相同的输出。用数学术语来说,它只是一个定义明确的函数。
一个纯函数具有以下特性
它仅取决于自己的论点。
它不会尝试将变量更改为超出其范围。
它不会产生任何副作用。
以下示例不是纯函数, 因为该函数依赖于其范围之外的变量(val1和val2),而不是依赖于其自身的变量。
<html> <body> <script> let val1 = 6; let val2 = 4; function pure() { return val1 * val2; } document.write(pure()); </script> </body> </html>
24
在下面的示例中,该函数即使依赖于其自身的参数,也依赖于某些外部变量(val)。所以它不是一个纯函数。
<html> <body> <script> function pure(arg) { let val = 100; return val* arg; } document.write(pure(2)); </script> </body> </html>
200
下面的示例显示一个纯函数,因为该函数执行其任务时不涉及外部变量。将相同的参数传递给该函数时,该函数返回相同的输出
<html> <body> <script> function pure(arg) { return 4 * arg; } document.write(pure(2)); </script> </body> </html>
8