javascript - 为什么使用只返回参数的函数

标签 javascript

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

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

而不是

this.param = openDoc;

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

最佳答案

在数学中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

这可能会让读者感到困惑。

关于javascript - 为什么使用只返回参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35794820/

相关文章:

javascript - 为什么 require.js 进入 head 标签

javascript - 如何让cloudantDb.search返回所有记录而不是限制25条和书签

javascript - 去除浏览器的标题栏、菜单栏、导航栏、标签栏、地址栏和状态栏

javascript ajax 帮助

javascript - 如何在 JS/React 中下载 mp4 视频?

javascript - 任何人都知道如何让 nicescroll 插件水平工作

javascript - 如何获取一个脚本的结果并将其输入到另一个脚本中?

javascript - 关闭所有弹出窗口

javascript - 在页面上渲染时,如何从 JavaScript 中的 HTTP 响应中删除大括号?

javascript - 在 React 中更改图标的颜色