Альтернатива использованию Function.bind (иногда его называют карри): вы можете контролировать область действия вашей общей переменной.Вот некоторый псевдокод jQuery, демонстрирующий это.Shared доступен для этих двух обработчиков и больше ни для кого.
$(function(){
var shared = {a:1, b:2};
$('#id-1').click(function() {
alert(shared.a);
});
$('#id-2').click(function() {
alert(shared.b);
});
});
Если вы пишете процедурный код jQuery, подход замыкания гораздо проще.Поскольку почти все, что я пишу, является объектом, я бы предпочел не заходить на слишком много уровней внутренних замыканий, поэтому я предпочитаю устанавливать обработчик с привязкой / каррированием (как пример Мартина), если обработчику требуется доступ к разделяемым переменным.*