私はSO(特にこれはHow do JavaScript closures work?)のすべての他の(優秀な)回答を見てきましたが、私はそのコンセプトについてのあなたのご意見を募集しました。これはjavascriptクロージャの有効な使用例ですか?
私は、プライベートメソッドの実装をパブリックアクセスから隠すことを念頭に置いていることを理解しています。
私は工場出荷時の発電機としてそれを持っているのだと思う他の1:
<script>
function carFactory(make) {
var m = make;
return { manufacture: function (model)
{console.log("A " + m + " " + model + " has been created");}
}
}
toyotaFactory = carFactory("toyota");
hondaFactory = carFactory("honda");
toyotaFactory.manufacture("corolla");
toyotaFactory.manufacture("corolla");
hondaFactory.manufacture("civic");
</script>
この出力:
A toyota corolla has been create
A toyota corolla has been created
A honda civic has been created
は、だから、(閉鎖のための有効な使用事例だと思いますつまり作成同じコードベースを使用する複数のファクトリ)?それとももっと良いものを使って同じことを達成できますか?
この問題は、クロージャの技術的な実装と、アプリケーションの設計/開発における有効なユースケースについての詳細な情報ではありません。
ありがとうございました。
私によく見えます。 – Almo
いいね!私はそれに何も間違いはないと思う。 – Linuxios
技術的には、 'm'は必要ありません。' make'を直接使うことができます。 – josh3736