Case Statement

by John Harley

JavaScript

function doCase(varName) {
    var cases = {
        afshin: function () {
            alert('hey')
        },
        
        larry: this['afshin'],
    
   //     bob: alert('bob'), // this executes immediately on each call. 
   //     bob: alert, // this works, returning an executable function.

        _default: function () {     
            alert('default');
        }
    };
    cases.saeed = cases.afshin;
    
   // cases['bob']('alert msg');
    cases[varName] ? cases[varName]() : cases._default();
}

           alert('start');
doCase('afshin');
doCase('larry');