Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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 将值传递给IIFE函数_Javascript_Iife - Fatal编程技术网

Javascript 将值传递给IIFE函数

Javascript 将值传递给IIFE函数,javascript,iife,Javascript,Iife,这可能是一个愚蠢的问题,但我已经到处找过了,最后还是这么做了。 我怀疑生命函数通常是这样的 var me = (function() { /*code*/} )(); me(); 到目前为止,我还没有看到任何代码将变量传递给它。 是否可以将值传递给IIFE函数?我已经试过使用 var Person = (function(name,age){ this.name = name; this.age = age; }());

这可能是一个愚蠢的问题,但我已经到处找过了,最后还是这么做了。 我怀疑生命函数通常是这样的

var me = (function() { /*code*/} )();
me();                       
到目前为止,我还没有看到任何代码将变量传递给它。 是否可以将值传递给IIFE函数?我已经试过使用

var Person = (function(name,age){
    this.name = name;
    this.age = age;
     }());
  Person("Bob Smith", 30); 
这给了我一个未定义的错误


那么,有没有办法将这些价值观传递到生活中,或者应该避免

这将是一个有参数的生活:

(function (a, b) {
    alert(a + b);
}('hello', ' world'));


正如其他人所说,您似乎正在做的是一个构造函数,因此不需要它们

如果需要,可以通过这种方式创建构造函数:

function Person(name, age) {
    this.name = name;
    this.age = age;
}

var bob = new Person('Bob Smith', 30);

你可以做一个匿名调用的构造函数,但这是毫无意义的,因为这是一种一次性交易类型,你不需要一个构造函数。

你为什么要用IFEE来定义构造函数?至少你应该返回一个函数!在您的情况下,Person返回undefined,您不能将其用作构造函数或库,我仍然很困惑何时使用IIFEs。IIFE是一个可以立即调用的函数。您可以在IIFE本身中设置参数:
(函数(x){console.log(x);})(123)
将记录123,但执行
var f=function(x){console.log(x);};f(123)
产生完全相同的结果汉克斯,这开始有意义了,但有可能将值传递给生命吗?假设我想通过传递值a和b来添加两个数字。抱歉,如果这听起来很愚蠢的话。我认为您对JS中的函数有点困惑,我建议您阅读以下内容: