JavaScript如何在事件中调用函数?

3
请解释这两个语句的区别。哪一个调用了函数“connect”?“connect”是用户自定义的函数。
`peer.on('connection', connect);`

并且。
f.on('open', function() {
    connect(f);
    });
2个回答

1
除了第一个示例使用命名函数作为回调,第二个示例使用匿名函数作为回调之外,实际上没有太大区别。如果您需要重复使用回调或者只是想更好地掌控回调的组织,那么命名回调函数是很有用的。
无论哪种方式,函数都将在'on'执行完成后被调用。
有关回调的更多信息,请查看http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/

你忽略了主要的区别在于第二个代码块中,你可以控制传递给connect()的参数,而不仅仅是接受事件处理系统传递的任何参数。也就是说,在我看来,使用第二种形式的主要原因就在于此。 - jfriend00
我理解这个问题是关于命名回调和匿名回调的区别,但是你的解释(可能更准确)提供了一个更好的答案。我给你点赞。 - Dan Armstrong
你点赞了一个竞争性答案,这是非常高雅的举动。我喜欢你提供的参考资料,有助于理解回调函数。 - jfriend00

1

两者在事件发生时都会调用connect。主要区别在于第一个函数的参数由事件子系统设置,因为它直接被事件管理程序调用。如果您的函数不使用任何参数或其参数与事件系统传递的参数完全匹配,则第一个函数可以正常工作。

在第二个函数中,您可以控制发送到connect(f)的参数,因此您可以将参数设置为任何内容。因此,如果您想自己控制参数,则第二个代码块提供了这个选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接