Polymorphic JS code

I wrote a little, but nifty rewrite today. The great thing about JavaScript is that it's very dynamic.

The code looked like this:

function renderTabs(current) {
    var general = A({href: '/Users/viewPrefs?page=general'}, 'General');
    var account = A({href: '/Users/viewPrefs?page=account'}, 'Account');
    var reminders = A({href: '/Users/viewPrefs?page=reminders'}, 'Reminders');

    if(current == 'general')
        setClass(general, 'current');
    else if(current == 'account')
        setClass(account, 'current');
    else if(current == 'reminders')
        setClass(reminders, 'current');

    ACN($('tabs'), general, ' | ', account, ' | ', reminders);
}

I rewrote it like this:

function renderTabs(current) {
    var elms = {
        'general': A({href: '/Users/viewPrefs?page=general'}, 'General'),
        'account': A({href: '/Users/viewPrefs?page=account'}, 'Account'),
        'reminders': A({href: '/Users/viewPrefs?page=reminders'}, 'Reminders')
    }
    setClass(elms[current], 'current');

    ACN($('tabs'), elms.general, ' | ', elms.account, ' | ', elms.reminders);
}
Code · Code improvement · JavaScript 7. Aug 2007
© Amir Salihefendic. Powered by Skeletonz.