名前付き関数を名前付き関数に置き換える方法のすべての例を見てきました。名前付き関数を匿名のものに変更する方法を探しています。私はわずかに自分のコードを最適化するために探しています。私は匿名関数の仕組みを理解していますが、この例では構文を正しく取得できません。 さらに、doWork関数は大きな獣です。私はそれを命名する必要があります。名前付き関数をjavascriptで匿名で置き換える
注:私はGoogleを使い、誤った用語を検索しているか、多くの人がこれを行う方法を知りたいとは思わない。私はこの答えをどこか別のところで見つけられなかったことのために、SOの許しを謙虚に請う。
注2:this.formFieldsで私の閉鎖の使用を無視してください。ただそれが変わらないと仮定してください。私は早い時期にそれを設定しています。
マイコード:
function doWork(serviceResponse, theFormFields){
// Process stuff like jQuery or console test stuff etc
}
// THIS NAMED FUNCTION IS WHAT I WANT TO BE ANONYMOUS
function createCallback(formfields) {
return function(data) {
// This reference to the 'formfields' parameter creates a closure on it.
doWork(data, formfields);
};
}
// THE ABOVE FUNCTION *COULD* be anonymously declared in the getJSON
$.getJSON(jsonService + callString, createCallback(this.formFields));
述べたようにジャストインラインそれを書きます。関数名を記述することができるところでは、関数定義について言及することもできますが、同じことができます。利点があると思っているかどうかわからない、私はそれが依存すると思います。 – Nishant