纯粹的功能
纯功能是独立的,没有副作用。给定相同的输入集,纯函数将始终返回相同的输出值。
以下功能是纯粹的:
function pure(data) {
return data.total + 3;
}
但是,此函数不纯,因为它修改了外部变量:
function impure(data) {
data.total += 3;
return data.total;
}
例:
data = {
total: 6
};
pure(data); // outputs: 9
impure(data); // outputs: 9 (but now data.total has changed)
impure(data); // outputs: 12