我正在浏览bacon.js幻灯片: http://raimohanska.github.io/bacon.js-slides/1.html
在第二个街区的第一行,它说:
function always(value) { return function(_) { return value } }
function(_)
是什么意思?
答案 0 :(得分:16)
在这种情况下,_
只是一个函数参数 - 单个下划线是一些程序员用来表示“忽略此绑定/参数”的约定。
由于JavaScript不进行参数计数检查,因此可能完全省略了参数。这种“丢弃”标识符在其他语言中更常见,但考虑arr.forEach(function (_, i) {..})
这样的情况,其中_
表示不使用第一个参数。
答案 1 :(得分:10)
它是一个带有一个参数的匿名函数,该参数的名称是_
。
我不知道为什么他们会为这个论点而烦恼,因为函数没有使用它。
答案 2 :(得分:1)
与根据本文档将任何其他标识符放入参数列表相同:http://mathiasbynens.be/notes/javascript-identifiers
您可以在此文档中找到_是标识符可以开头的合法字符。
在你的例子中没有任何意义,可能作者只是觉得它比只是()更酷。