我试着谷歌搜索答案,但问题是我真的不知道如何解决这个问题,我只是找到了错误的主题。
有什么区别:
this.on('click',thisismyfunction );
和
this.on('click', function(){
thisismyfunction();
});
答案 0 :(得分:3)
一个值得注意的区别:第一个函数将直接传递一个事件对象,可以通过thisismyfunction
的第一个参数或arguments[0]
的任何名称访问。在第二个版本中,该对象将被传递给外部匿名函数。
此外,在两个示例中,都不会立即调用。您将两个函数(第一种情况下的命名函数或第二种情况下的匿名函数)绑定为事件处理程序,因此它们将在相关事件发生后调用。
您使用哪一个主要取决于代码结构和样式。正如bennett_an所说,当你将同一个函数绑定到多个事件时,最好使用第一个变体。
答案 1 :(得分:2)
一个是命名函数。关键是你可能多次从多个地方调用该函数。 另一种是自治功能。它基本上就像说"执行以下操作:"
函数:JavaScript中的函数可以是命名函数,也可以是匿名函数。 可以使用function关键字定义命名函数,如下所示:
function named(){ // do some stuff here }
匿名函数可以 以与正常函数类似的方式定义,但它不具有 任何名字。
可以将匿名函数分配给变量或传递给a 方法如下所示。
var handler = function (){ // do some stuff here }
JQuery制作了一个 非常频繁地使用匿名函数如下:
$(document).ready(function(){ // do some stuff here });
答案 2 :(得分:1)
一点也不。
第一个示例将直接绑定到thisismyfunction
。第二个示例将绑定到一个匿名函数,然后在调用时调用thisismyfunction()
。
答案 3 :(得分:0)
此函数不会收到任何参数。你把它嵌入匿名函数的方式。
答案 4 :(得分:0)
在您的示例中,结果可能没有差异。但这两种方法的表现略有不同:
第一个例子:
this
指的是点击元素第二个例子
this
是指匿名函数您使用哪种风格取决于您自己的偏好以及您想要实现的目标