Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript(function(){}())中使用的这种语法在哪里_Javascript_Node.js - Fatal编程技术网

javascript(function(){}())中使用的这种语法在哪里

javascript(function(){}())中使用的这种语法在哪里,javascript,node.js,Javascript,Node.js,在这里,人被分配了一些东西作为(function(){}())语法,这个语法是关于什么的,它在做什么,请有人解释一下。。。 我在某处看到了这段代码,但我无法理解函数语法(function(){}())后面的括号来自何处以及它们在做什么 删除第二组括号后,它将停止作为构造函数的行为,为什么第一个()将其声明为函数?如果有参数传入,这就是传递参数的地方 {}是声明逻辑的地方 第二个()在定义函数后立即调用该函数,而不是从其他地方调用该函数。可能是重复的这是一个自调用函数。你可以在谷歌上找到数百篇关于

在这里,人被分配了一些东西作为
(function(){}())
语法,这个语法是关于什么的,它在做什么,请有人解释一下。。。 我在某处看到了这段代码,但我无法理解函数语法(function(){}())后面的括号来自何处以及它们在做什么

删除第二组括号后,它将停止作为构造函数的行为,为什么第一个
()
将其声明为函数?如果有参数传入,这就是传递参数的地方

{}
是声明逻辑的地方


第二个
()
在定义函数后立即调用该函数,而不是从其他地方调用该函数。

可能是重复的这是一个自调用函数。你可以在谷歌上找到数百篇关于它的文章,一些评论和回答都是在重复状态,标准名称是“立即调用函数表达式”(或IIFE);它甚至有自己的标签:好的,现在我知道了,你能回答另一个问题吗,即:当我删除第二个
()
括号时,它就不再是构造函数了,为什么…@AyushAgrawal第一个
()
定义
,第二个
()
初始化
。必须初始化/执行该函数才能使内部逻辑正常工作。@AyusAgrawal如果您将其称为
Person()
,则无需第二个括号即可正常工作。有关演示,请参阅。
var Person=function(){
`function Person(name){``this.name=name;`
}
Person.prototype.getName=function(){
`return this.name;``};`
console.log(“调用的”)
`return Person;`
>
var p=新人(“约翰”)
console.log('person1 name:'+p.getName())@JamesWhiteley在这段代码中,如果我删除第二个()它就不再是构造函数了
var Person = function() {
    function Person(name) {
        this.name = name;
    }

    Person.prototype.getName = function() {
        return this.name;
    };
    console.log("called")
    return Person;
}();
var p = new Person('John');
console.log('Person 1 name: ' + p.getName());