这是什么JavaScript

这是什么JavaScript,javascript,Javascript,下面的代码会做什么 我已经使用JS多年了,但不知道这个构造是如何工作的 (function() { /* No implementation yet */ })(); 知道没有实现——如果有——我将如何调用它?以下内容是否会成为匿名对象 var temp = (function() { })(); 我可以将其用作: temp.doWhateverDefined(); 这是一个匿名函数,因此除非将其分配给名称,否则不能在创建它的行之外调用它 var temp = (function() {

下面的代码会做什么

我已经使用JS多年了,但不知道这个构造是如何工作的

(function() { /* No implementation yet */ })();
知道没有实现——如果有——我将如何调用它?以下内容是否会成为匿名对象

var temp = (function() {  })();
我可以将其用作:

temp.doWhateverDefined();

这是一个匿名函数,因此除非将其分配给名称,否则不能在创建它的行之外调用它

var temp = (function() {  })();
这段代码应该更改为

var temp = (function() {  });
这样,您实际上可以将函数分配给名称。要调用它,只需使用括号

temp()

这是一个匿名函数,因此除非将其分配给名称,否则不能在创建它的行之外调用它

var temp = (function() {  })();
这段代码应该更改为

var temp = (function() {  });
这样,您实际上可以将函数分配给名称。要调用它,只需使用括号

temp()

你有一个朋友。这在JavaScript中非常常见。

您有一个。它在JavaScript中非常常见。

它是一个自动执行的函数。你不调用它,它会自动调用


var temp=函数{};如果函数返回某些内容,则该函数将起作用

它是一个自动执行的函数。你不调用它,它会自动调用


var temp=函数{};如果函数返回某些内容,则该函数将起作用

它正在立即运行。你好像说:

var f = function() { /* No implementation yet */ }
(f)();
这和

var f = function() { /* No implementation yet */ }
f();

其要点是允许代码页初始化块等使用它喜欢的任何变量/函数名,而不会与可能使用相同名称的其他Javascript代码冲突。该块中声明的所有函数/等都是本地的,不会损害外部世界。

它将立即运行。你好像说:

var f = function() { /* No implementation yet */ }
(f)();
(function() { /* No implementation yet */ })();
这和

var f = function() { /* No implementation yet */ }
f();
其要点是允许代码页初始化块等使用它喜欢的任何变量/函数名,而不会与可能使用相同名称的其他Javascript代码冲突。该块中声明的所有函数/等都是本地的,不会损害外部世界

(function() { /* No implementation yet */ })();
这称为立即调用的函数表达式或短暂的IIFE。它被立即声明、评估和调用

基本思想是:

var x = (function() { return 5;})();
alert(x); //5
这称为立即调用的函数表达式或短暂的IIFE。它被立即声明、评估和调用

基本思想是:

var x = (function() { return 5;})();
alert(x); //5

您拥有的是一个已经调用的自调用函数

var temp = (function() {  })();
因此函数必须返回一个函数,以便temp或temp.somethin;可能被触发。有关更多信息,请参见下面的示例

var temp = (function() { return {
    doWhateverDefined: function () {
        return 'invoked';}
      };  
    }
)();

alert(temp.doWhateverDefined()); //should alert invoked

演示:

您拥有的是一个已经调用的自调用函数

var temp = (function() {  })();
因此函数必须返回一个函数,以便temp或temp.somethin;可能被触发。有关更多信息,请参见下面的示例

var temp = (function() { return {
    doWhateverDefined: function () {
        return 'invoked';}
      };  
    }
)();

alert(temp.doWhateverDefined()); //should alert invoked

演示:

除非返回从该函数定义的某个函数,否则无法执行。该函数已被调用。它是一个一次性函数,用于创建局部变量作用域。它是一个匿名函数,在定义后立即调用。除非您从该函数返回某个已定义的函数,否则无法调用。该函数已被调用。这是一个一次性使用的函数,用于创建局部变量范围。它是一个匿名函数,在定义后立即调用它…还是IEFE?我想那也行-还是IEFE?我想那也行-感谢所有的回复…我觉得它是在被定义后立即调用的,但我很欣赏iLife博客那很棒:感谢所有的回复…我觉得它是在被定义后立即调用的,但我很欣赏iLife博客那很棒:那有点酷,就像是在函数中执行的内联代码作用域-但不显式调用任何函数???@Alex.Barylski,它显式调用包装代码的匿名函数。在JavaScript中,通过添加参数来调用函数。这定义了一个函数,然后通过追加到末尾立即调用它。值得注意的是,最终的包装可以在包装纸的内部或外部。函数{}和函数{}一样好,这有点酷,它就像内联代码一样,只是在函数范围内执行-但没有显式调用任何函数???@Alex.Barylski,它显式调用包装代码的匿名函数。在JavaScript中,通过添加参数来调用函数。这定义了一个函数,然后通过追加到末尾立即调用它。值得注意的是,最终的包装可以在包装纸的内部或外部。函数{}和函数{}一样好