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中的函数有点困惑,我建议您阅读以下内容: