javascript – CoffeeScript中$(document).on和($document).on之间的区别?

我的朋友在他的CoffeeScript代码中使用($document).on.这是否与通常的$(文件).on不同,如果是这样,以什么方式?

解决方法:

在CoffeeScript中,使用参数调用函数不需要括号.

例如:

console.log("Hello") // Hello
console.log "Hello"  // Hello

所以,请考虑这些是等价的:

$document = $(document)
$document = $document
$document = ($document)

但是,在某些情况下,括号是消除意义歧义所必需的.

例如,您希望在返回$()函数时调用on函数:

$(document).on() // on function called on the return of $() function

但这不会按预期工作:

$document.on() // $() function called with document.on() return!

因此,为了强制在$()函数的结果上调用on函数,我们添加括号:

($document).on() // on function called on the return of $() function

请注意,根据CoffeeScript style guide,

The function grouping style is not recommended.

所以建议你的朋友停止使用它:)

上一篇:javascript – 播放一声嘟嘟声(beep.js)


下一篇:这些夕阳产品的编程语言即将死去,有你学的吗?