我的朋友在他的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.
所以建议你的朋友停止使用它:)