为什么使用仅返回参数的函数

时间:2016-03-04 11:23:38

标签: javascript

我知道这是一个非常基本的问题,但为什么这种方法会更好用?

this.param = doc('someData');
function doc(opendoc){
    return opendoc;
}

而不是

this.param = openDoc;

我正在开发一个现有的项目,他们经常使用这个approuch。

1 个答案:

答案 0 :(得分:3)

在数学中,identity function是基础,因为它在函数代数中充当单位(1),即

Id • f = f 

其中•是组合运算符,这意味着Id(f(x))== f(x)

在编程中,当需要函数参数时,它可用作占位符或默认值。例如:

 Id = function(x) { return x }

 function processData(data, sortBy) {
      // if no sorting function provided, sort by element itself
      data.sort(sortBy || Id);
      ....
 }

在进行语义类型转换时,使用Id作为包装函数也是一种很好的风格,例如

SearchResult = Id

...

http.get(function(rawData) {
     this.searchResult = SearchResult(rawData)

而不仅仅是

this.searchResult = rawData

这可能让读者感到困惑。