const someFnc = arg => arg("You can print that string :)");
を作成するだけで、匿名の方法です:あなたが定義
function someFnc (arg) {
arg("You can print that string :)");
}
他の無名関数:
msg => console.log(msg)
これはmsg
を取り、コールにそれを使用していますanoynous機能させますconsole.log
。最初の引数でconsole.log
を呼び出すだけなので、何もしないラッパーです。あなたは確かにちょうどconsole.log
でそれを置き換えることができます。
someFnc(console.log)
は今ので、私たちはバインド変数に置き換える引数を持つ関数の本体で関数呼び出しを置き換えることができます置換規則を使用して:
arg("You can print that string :)"); // replace arg with console.log
// ===
console.log("You can print that string :)");
JavaScriptでベアワードを書くと、parseInt
のように変数になります。それは関数に評価されます。従ってparseInt("10"); // ==> 10
。関数の本体でarg
は、オブジェクトの属性console
の値を取得する変数です。 parseInt
のような関数です。変数は値であり、関数も値です。
値を関数として渡すと、関数の定義内の変数にバインドされます。それも、既存の機能をシャドウすることができます
((parseInt, value) => parseInt(value))(Number, "10");
// => 10
だから、ルールは、引数でバインドされた変数を置き換えている、ので、それは本当にです:
Numer("10"); //=> 10
変数は、値のためだけの名前です。関数は、適用後に()
を入れることができる値で、オプションで引数を指定します。
'arg'は自己起動しません。呼び出しは 'someFnc'(' arg( "あなたはその文字列を出力できます:) :)") 'の関数本体にあります。 – Xufox
「自己呼び出し」という言葉が何であるか分かりません。 'someFnc'は、実行時にパラメータとして宣言された関数' arg'を呼び出します。 – Bergi