links for 2010-06-19

June 20, 2010
  • <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

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: