请解释我这两个陈述之间的区别。哪一个调用函数'connect'。 connect是用户定义的函数。
`peer.on('connection', connect);`
和
f.on('open', function() {
connect(f);
});
答案 0 :(得分:1)
除了使用命名函数作为回调的示例1和使用匿名函数作为回调的第二个示例之外,确实没有太大区别。如果您需要重用它们,或者您只想更好地控制回调的组织,则命名回调很有用。
无论哪种方式,都会在'on'执行完毕后调用这些函数。
有关回调的详细信息,请查看http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/
答案 1 :(得分:1)
事件发生时,两者都会调用connect
。主要区别在于第一个获取由事件子系统设置的参数,因为它由管理事件的任何东西直接调用。如果你的函数要么没有使用任何参数,要么它的参数与事件系统传递的完全匹配,那么第一个参数就可以正常工作。
在第二个中,您可以控制发送到connect(f)
的参数,以便您可以根据需要创建参数。因此,如果您想自己控制参数,那么第二个代码块会为您提供该选项。