Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 咖啡脚本中$(document).on和($document).on之间的差异?_Javascript_Jquery_Coffeescript_Domdocument - Fatal编程技术网

Javascript 咖啡脚本中$(document).on和($document).on之间的差异?

Javascript 咖啡脚本中$(document).on和($document).on之间的差异?,javascript,jquery,coffeescript,domdocument,Javascript,Jquery,Coffeescript,Domdocument,我的朋友正在他的咖啡脚本代码中使用($document).on。这是否与通常的$(文档)不同。在上,如果是,以什么方式?在CoffeeScript中,调用带有参数的函数不需要括号 例如: console.log("Hello") // Hello console.log "Hello" // Hello P>所以,考虑这些是等价的: $document = $(document) $document = $ document $document = ($ document) 然而,在某些

我的朋友正在他的咖啡脚本代码中使用
($document).on
。这是否与通常的
$(文档)不同。在
上,如果是,以什么方式?

在CoffeeScript中,调用带有参数的函数不需要括号

例如:

console.log("Hello") // Hello
console.log "Hello"  // Hello
<> P>所以,考虑这些是等价的:

$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
注意根据

不建议使用函数分组样式


因此,建议您的朋友停止使用它:)

这只是一个带括号的函数调用;换句话说,它相当于
($(document))。在
@Pointy上,这样做只是增加文件的大小?我不是CoffeeScript人,但可能需要使
表达式正常工作。换句话说,
$document.on
在没有额外的
()
的情况下可能会被错误地解释。(顺便说一句,这可能是我不是咖啡脚本人的原因之一:)