次の jQuery のコードを見てください。
$button.on("click", {context: "externalRef1"}, function(e){ if (e.data.context){...} });
いつデータをコンテキストとしてハンドラーに渡す必要があるのだろうか (上記のサンプルのように)、なぜ常にクロージャーに頼ることができないのでしょうか (競合する名前を気にする必要はありません - 実際には問題ではありません)。
いくつかの明確化 - クロージャーは、コードが外部変数を使用できるようにすることに関するものです。
var foo = function(){
var externalRef = "a1";
var call = function(){}{
alert(externalRef); // a1
}
};
それが常に当てはまる場合、なぜ上記の方法でデータを渡す必要があるのですか?