【发布时间】:2015-10-31 04:37:26
【问题描述】:
使用在函数范围之外声明的函数是否违反了函数原则,例如不变性?还是专门指数组、字符串等数据。
例如:
var data ["cat", "dog", "bird"];
function doThing (val) {
return val + ", go away!"
}
function alterData (data) {
return data.map(doThing);
}
alterData(data);
上面的代码可以接受吗?还是需要将“doThing”函数作为参数传递给 alterData 函数?
我感到困惑的原因是,在函数式编程示例中,我经常看到使用语言的原生函数,而没有首先传递给函数。但是,这些示例从来都不够复杂,无法展示如何使用函数库。
问候
【问题讨论】:
-
我删除了“不变性”标签,因为它完全无关紧要。
-
你是对的,不是一个好标签。