Function Examples in Javascript Programming language

This JavaScript article shows you how to declare, write and call functions in the JavaScript programming language, such as void functions, return functions, ... Please enter the detail page to learn more.


Sampled by © JavaScriptBank.com

Just a random, late night scribble for the boys and girls out there starting fresh with javascript and not understanding the power that you can harness with it. I've given this demonstration before, but it's always fun to post because someone might learn something new.

Anyway, you might be familiar with your usual function definition, let's say a function that sums 2 numbers:

function sum(a,b){
  return a+b;
}

sum(2,5); // returns 7

That's fine and dandy... but now let's change this around a bit to better illustrate what a function is:

var pre = function(a,b){
  return a+b;
}

sum(2,5); // returns 7

Yep, that's right... a function is just an object in javascript and the name of it is simply a variable. Now let's make this a bit more interesting by creating a function that returns a running sum:

function runningSum(start){
  var sum = start;
  return function(a){
    return sum+=a;
  }
}
var sum = runningSum(3);
sum(2); // returns 5
sum(10); // returns 15

As you see, you can have a function return another function in javascript, and that function inherits the scope of the function that created it... in fact we could remove the temporary sum variable and get the same results:

function runningSum(start){
  return function(a){
    return start+=a;
  }
}
var sum = runningSum(3);
sum(2); // returns 5
sum(10); // returns 15

now, lets introduce the arguments variable, which gives you access to an array of agu ments passed into the function. A revised sum function:

function sum(){
  var sum = 0;
  for(var i = 0; i < arguments.length; i++){
    sum += arguments[i];
  }
  return sum;
}
sum(1,2,2,1); // returns six

The arguments object is a pretty damn cool object, if you want to look further, take a gander at the Mozilla documentation. Using the callee attribute of arguments (which returns the function instance itself), we can do something wicked:

var sum = 0;
function add(a){
  sum+=a;
  return arguments.callee;
}
add(1)(2)(3);
alert(sum); // displays 6

I find this can come in pretty handy when you need an accumulator of some sort... try it, it works! :)

Also, you can assign the scope of this while using functions, which can be useful if, for example, you want to call a function where this might resolve to the local scope (think ajax callbacks):

function greeting(){
  return "Hello " + this.name;
}

var person = {'name':'James'};
greeting.call(person); // returns "Hello James"

I also prefer to avoid polluting the global scope if I want a script that does something procedural when it's included, in that case I just create a function and execute it on the spot:

(function(){
  var bleh = 3;
  alert(bleh+5); // alerts 8
})();
alert(bleh); // Reference Error: bleh is not defined

Finally, there's a handy map function on arrays. It's available in Mozilla, but not IE (afaik), however it is also available in jquery, so you can give it a try there.

[1,2,3,4,5].map(function(a){return a*a;}); // returns [1,4,9,16,25]

Overall, pretty basic stuff, but a nice refresher if you are unfamiliar.

Language
Translate this page to English Translate this page to French Translate this page to Vietnamese

Recent articles
Insights for Advanced Zooming and Panning in JavaScript Charts
How to open a car sharing service
Vue developer as a vital part of every software team
Vue.js developers: hire them, use them and get ahead of the competition
3 Reasons Why Java is so Popular
Migrate to Angular: why and how you should do it
The Possible Working Methods of Python Ideology
JavaScript Research Paper: 6 Writing Tips to Craft a Masterpiece
Learning How to Make Use of New Marketing Trends
5 Important Elements of an E-commerce Website


Top view articles
Adding JavaScript to WordPress Effectively with JavaScript Localization feature
Top 10 Beautiful Christmas Countdown Timers
Top 10 Best JavaScript eBooks that Beginners should Learn
65 Free JavaScript Photo Gallery Solutions
16 Free Code Syntax Highlighters by Javascript For Better Programming
Best Free Linux Web Programming Editors
Top 50 Most Addictive and Popular Facebook mini games
More 30 Excellent JavaScript/AJAX based Photo Galleries to Boost your Sites
Top 10 Free Web Chat box Plug-ins and Add-ons
The Ultimate JavaScript Tutorial in Web Design


Free JavaScript Tutorials & Articles
at www.JavaScriptBank.com