一个Javascript函数

adi*_*aur 3 javascript iife

请解释以下在javascript函数中编写函数的方法:

(function (){
 // some code 
})()
Run Code Online (Sandbox Code Playgroud)

我理解这样一个事实:由于尾随大括号"()",函数会立即执行,但是括号中的函数是什么意思呢?

Jam*_*ate 5

你的语法不正确.编辑:修复.

查看要调用一次且只调用一次的正常函数定义:

function add(x,y) {
   var z = x + y; 
   // do something with z
}

add(2,3);
Run Code Online (Sandbox Code Playgroud)

您可以减少此代码,以便您立即执行它,无需为其添加名称:

(function(x ,y) {
   var z = x + y; 
   // do something with z
})(2,3)
Run Code Online (Sandbox Code Playgroud)

注意我们如何用一组括号包围函数以使​​其成为可调用的表达式.此模式通常用于创建某些变量的闭包(捕获状态),例如:

jQuery.noConflict(); //Disables the use of $ in the global scope
(function($) {

   //Safely use $ inside this function
   $('.link').click(function(e) {
      //etc
   });

})(jQuery);
Run Code Online (Sandbox Code Playgroud)