这两个功能有什么区别?

use*_*611 5 javascript

我尝试了两种引用函数的方法:

第一

a=function(){
   somefunction();
}
Run Code Online (Sandbox Code Playgroud)

第二

a=somefunction;
Run Code Online (Sandbox Code Playgroud)

somefunction在这两种情况下的情况如下:

somefunction :function() {
  alert("hello");
}
Run Code Online (Sandbox Code Playgroud)

这两种方式有什么区别吗?

Pol*_*878 3

是的,你的两个例子之间有区别。

在第一种情况下,您正在定义一个新的匿名(未命名)函数,该函数调用somefunction. 然后,您将新函数定义分配给变量aa保存对您的新函数的引用。

在第二种情况下,您只需将 的原始函数分配somefunction给变量a。然后该变量a保存对 的引用somefunction。您没有像第一种情况那样创建新函数。