我的朋友在他的CoffeeScript代码中使用($ document).on
。这与通常的$(document).on
有何不同?如果有,以何种方式?
答案 0 :(得分:5)
在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,
不建议使用功能分组样式。
所以建议你的朋友停止使用它:)