Associate A String With A Function Name
I have a text input that I want to enable users to call functions from. Essentially I want to tie strings to functions so that when a user types a certain 'command' prefaced with a
Solution 1:
Store your functions in an object, so you can retrieve and call them by key:
// Store all functions herevar commands = {
    name : function() {
        console.log("Hello");
    }
}
var sendConsole = function() {
    value = $('#textCommand').val();
    // Strip initial slashif(value.substring(0,1) === '/') {
        value = value.substring(1);
        // If the function exists, invoke itif(value in commands) {
            commands[value](value);
        }
    }
}
Solution 2:
Try something like this:
var userFunctions = {
    run: function(input)
    {
        var parts = input.split(/\s+/);
        var func = parts[0].substr(1);
        var args = parts.slice(1);
        this[func].call(this, args);
    },
    test: function(args)
    {
        alert(args.join(" "));
    }
};
userFunctions.run("/test hello there"); // Alerts "hello there".Solution 3:
You can do:
if(window["functionName"])
{
   window["functionName"](params);
}
Post a Comment for "Associate A String With A Function Name"