【问题标题】:javascript call a function on eventjavascript 在事件上调用函数
【发布时间】:2015-04-05 06:29:07
【问题描述】:

请解释一下这两种说法的区别。哪个调用函数'connect'。 connect 是用户定义的函数。

`peer.on('connection', connect);`

f.on('open', function() {
    connect(f);
    });

【问题讨论】:

    标签: javascript webrtc peerjs


    【解决方案1】:

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

    在第二个中,您可以控制发送到connect(f) 的参数,因此您可以根据需要设置任何参数。因此,如果您想自己控制参数,那么第二个代码块为您提供了该选项。

    【讨论】:

      【解决方案2】:

      除了示例一使用命名函数作为回调和第二个示例使用匿名函数作为回调之外,实际上并没有太大区别。如果您需要重用命名回调,或者您只想更好地控制回调的组织,命名回调非常有用。

      无论哪种方式,函数都会在'on'执行完成后被调用。

      有关回调的更多信息,请查看http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/

      【讨论】:

      • 您错过了主要区别在于,在第二个代码块中,您控制传递给connect() 的参数,而不是仅仅接受事件处理系统传递的任何内容。这就是我认为使用第二种形式的主要原因。
      • 我将此问题解释为命名回调与匿名回调,但是在您解释它的上下文中(可能更准确),您提供了一个更好的答案。来自我的 +1。
      • 优雅的举动,您对竞争的答案投了赞成票。我喜欢你提供的帮助理解回调的参考。
      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      • 2012-12-10
      相关资源
      最近更新 更多