私はJavascriptオブジェクトに苦労しています。
(foo)
とはどういうfunction(args){ ... }(foo)
意味ですか?
関数を宣言し、その直後にそれを呼び出します。あなたは2つのステップでそれを行うことができます:
function f(args){}
f(foo);
シングルステップおよび匿名:
(function(args){})(foo);
a のfunction (args) { }
後にかっこが続く場合(foo)
、それはすぐに呼び出される関数式(IIFE - 'iffy' と発音) です。
function (args) { } (foo);
基本的に同じです
var foofun = function (args) { };
foofun(foo);
また
function foofun(args) { }
foofun(foo);
関数は変数に格納されず、名前がないため、式も匿名です。
したがって、これfoo
は引数の単なるパラメーターですargs
。
関数は無名 (名前を持たない) であり、その関数を引数 foo で呼び出します。
これはimmediately invoced function expression
(IIFE) の例です。匿名関数が宣言された後、パラメーターを使用して呼び出すことにより、すぐに呼び出されますfoo
。
foo
おそらく、すぐに呼び出されようとしている関数宣言にパラメーターとして渡す可能性のあるオブジェクトの例にすぎません。
ステートメントは次のように書き換えることができます。
function xy(args) {
//code here
}
xy(foo);
したがって、基本的には、定義後に関数を直接呼び出し、変数foo
を引数として渡すだけです。