语法:关闭(函数 (){})() == ( (){}()函数)

closure syntax: (function a(){})() == (function a(){}())?

本文关键字:函数 关闭 语法      更新时间:2023-09-26

我注意到谷歌闭包编译器似乎可以互换使用这两个。

1。

(function a() {
  window.requestAnimationFrame(function() {
    //
    a();
  });
})();

2。

(function a() {
  window.requestAnimationFrame(function() {
    //
    a();
  });
}());

没有一个"闭包语法":任何语法都可以确保您构建函数表达式,即编译器不会将函数表达式与函数定义的开始混淆,并且您调用它是可以的。这里,两者都可以。

例如你可以用

+function(){
  ...
}();

简单地选择一个最易读和不那么令人惊讶的。我认为第一个,其中调用括号是最明显的,是最常用和最期望的。