Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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 在函数中调用函数是否有好处?_Javascript_Events_Javascript Events - Fatal编程技术网

Javascript 在函数中调用函数是否有好处?

Javascript 在函数中调用函数是否有好处?,javascript,events,javascript-events,Javascript,Events,Javascript Events,下面是关于MDN for javascript的教程,他们在按钮中添加了onclick处理程序,然后在函数中调用函数: myButton.onclick = function() { setUserName(); } 我尝试将事件直接分配给函数,但它仍然有效,因此我想知道是否有充分的理由这样做。如果函数不关心作为第一个参数传递的事件对象,则不会。它会使代码膨胀,在内存中创建一个额外的对象,没有任何好处。在我看来,定义一个lambda函数来处理事件是一种肮脏的编码方式。将接口和实际处理分离会更干

下面是关于MDN for javascript的教程,他们在按钮中添加了onclick处理程序,然后在函数中调用函数:

myButton.onclick = function() {
setUserName();
}

我尝试将事件直接分配给函数,但它仍然有效,因此我想知道是否有充分的理由这样做。

如果函数不关心作为第一个参数传递的事件对象,则不会。它会使代码膨胀,在内存中创建一个额外的对象,没有任何好处。

在我看来,定义一个lambda函数来处理事件是一种肮脏的编码方式。将接口和实际处理分离会更干净、更安全

如果您需要在处理程序中执行一些复杂的操作,那么定义一个正确命名的函数来执行该操作并将处理程序分配给它也同样容易

一旦您完成了这个糟糕的命名工作,您就可以对处理程序做任何您想做的事情,包括通过提供虚拟事件来测试它,重用它来处理来自不同按钮的事件,等等


另一方面,可能最多不超过几个星期或几个月的网页不是干净编码的最佳场所…

通常,当您需要在某些方面修改参数时,或者需要按顺序调用多个函数。我不了解有关参数的部分,但我确实了解调用多个函数的原因。我不理解事件对象和第一个参数的含义,对不起-请澄清一下。对不起,我是个新手,不明白什么是lambda函数,也不明白你所说的接口。lambda函数只是一个没有名字的函数。界面基本上是您看到的(按钮、div等),而处理是代码的算法部分(一旦用户通过界面触发操作,您将如何处理数据)。例如,如果用户单击按钮或按下某个热键,则可以执行相同的处理。