-
<h2>Beware anonymous functions</h2>
<p>
Anonymous functions bound everywhere are a pain. They're difficult to debug, maintain, test, or reuse. Instead, use an object literal to organize and name your handlers and callbacks.
</p>
<pre>
// BAD
$(document).ready(function() {
$('#magic').click(function(e) {
$('#yayeffects').slideUp(function() {
// …
});
});$('#happiness').load(url + ' #unicorns', function() {
// …
});
});// BETTER
var PI = {
onReady : function() {
$('#magic').click(PI.candyMtn);
$('#happiness').load(PI.url + ' #unicorns', PI.unicornCb);
},candyMtn : function(e) {
$('#yayeffects').slideUp(PI.slideCb);
},slideCb : function() { … },
unicornCb : function() { … }
};$(document).ready(PI.onReady);
</pre>
Advertisements
Leave a Reply