私は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を引数として渡すだけです。