/ /値をIIFE関数に渡す-javascript、iife

値をIIFE関数に渡す - javascript、iife

これはばかげた質問かもしれませんが、私は至る所を見て、最後の手段としてSOに来ました。 私の疑問は、IIFE関数が通常このように見えることです

var me = (function() { /*code*/} )();
me();

これまでに変数が渡されるコードを見たことはありません。 IIFE関数に値を渡すことは可能ですか?私はすでに使用してみました

var Person = (function(name,age){
this.name = name;
this.age = age;
}());
Person("Bob Smith", 30);

未定義のエラーが発生します。

これらの値をIIFEに渡す方法はありますか、それを避ける必要がありますか?

回答:

回答№1は1

これは、パラメーターを持つIIFEになります。

(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);

匿名で呼び出されたコンストラクターを実行できますが、それは「それは使い捨ての取引であるため無意味です。」そのためのコンストラクターは必要ありません。