Whenever I am working with folks who are just learning JavaScript, they seem to get hung up on functions until the light bulb goes on. One of the aspects of functions is understanding that functions are just fancy variables. What does this mean? It means that you can build meaningful functions and utilize names that make sense. Here is an example…
[code lang=”js”]
var someVariable = function() {
// Do some geeky code stuff
}; // Should have a semi-colon here since a variable is being declared
// ‘Traditional’ function
function foobar(){
// Do some more geeky code stuff
}
[/code]
​As you can see, the “guts” of the function is the same. You are simply storing the function literal into a variable instead of naming the function in the traditional manner. So how do you then call this function? I am glad you asked…
[code lang=”js”]
// Call the function literal stored in the variable
someVariable();
[/code]
The variable someVariable is simply a reference to the function…like your mailing address to your house.
Now…what about arguments/parameters of functions. How would you work with those in this scenario? Turns out, it is fairly easy…
[code lang=”js”]
var someVariable = function(someArgument) {
// Do some geeky code stuff
};
// Call the function literal stored in the variable someVariable(argument);
[/code]
Some of you may ask, “Why not just do it the ‘old’ way?” That is perfectly fine. I like this way only because I like to see my variables in my code in this manner and utilize them. In other words, it is many times a personal preference.
Happy Coding!
Clay Hess