这在javascript中意味着什么:var obj=(function(){……})()

这在javascript中意味着什么:var obj=(function(){……})(),javascript,Javascript,可能重复: 请有人向我解释一下这在JS中意味着什么: var obj = (function(){ // code })() 谢谢它被称为一个立即实例化的函数。它运行函数,并将返回值分配给obj。您可以使用它创建一个作用域或类,在其中可以使用闭包将某些变量保持在该作用域内的私有状态。约翰在那个问题上辞职了 因此,如果函数如下所示: var obj = (function(n){ return 2+n; })(3); obj的值为5 这是一个立即执行的匿名函数。它的返回值被分配给

可能重复:

请有人向我解释一下这在JS中意味着什么:

var obj = (function(){ 
   // code
})()

谢谢

它被称为一个立即实例化的函数。它运行函数,并将返回值分配给obj。您可以使用它创建一个作用域或类,在其中可以使用闭包将某些变量保持在该作用域内的私有状态。约翰在那个问题上辞职了

因此,如果函数如下所示:

var obj = (function(n){
  return 2+n;
})(3);

obj的值为5

这是一个立即执行的匿名函数。它的返回值被分配给obj。例如:

var obj = (function () {
    return 10;
}()); //Notice that calling parentheses can go inside or outside the others

console.log(obj); //10
它们通常用于引入一个新的作用域,这样就不会使代码执行的作用域变得混乱:

var obj = (function () {
    var something = 10; //Not available outside this anonymous function
    return something;
}());

console.log(obj); //10

请注意,由于这是一个函数表达式,而不是函数声明,因此在右大括号后面应该有一个分号。

@WHITECOLOR-不客气,很高兴我能帮助您: