Molte librerie JavaScript (in particolare jQuery) usano il concatenamento, che consente la riduzione di questo:
var foo = $(".foo");
foo.stop();
foo.show();
foo.animate({ top: 0 });
a questo:
$(".foo").stop().show().animate({ top: 0 });
Con una formattazione corretta, penso che questa sia una buona capacità sintattica. Tuttavia, vedo spesso uno schema che non mi piace particolarmente, ma che sembra essere un male necessario nei modelli non bloccanti. Questo è l'annidamento sempre presente delle funzioni di callback:
$(".foo").animate({
top: 0,
}, {
callback: function () {
$.ajax({
url: 'ajax.php',
}, {
callback: function () { ... }
});
}
});
E non finisce mai. Anche se mi piace la semplicità dei modelli non bloccanti, odio lo strano nidificazione dei letterali delle funzioni che impone al programmatore.
Sono interessante nello scrivere una piccola libreria JS come esercizio, e mi piacerebbe trovare un modo migliore per farlo, ma non so come si possa fare senza sentirsi hacky. Ci sono progetti là fuori che hanno risolto questo problema prima? E se no, quali sono le alternative a questa brutta e insignificante struttura del codice?