Sponsored Links
Microsoft AJAX Tutorials
- Microsoft AJAX Library Essentials
- Concepts of Object-Oriented Programming
- Microsoft AJAX Library - Object-Oriented JavaScript
- Microsoft AJAX Library - JavaScript Functions
- Microsoft AJAX Library - Functions as Variables
- Microsoft AJAX Library - Anonymous Functions
- Microsoft AJAX Library - JavaScript Classes
- Microsoft AJAX Library - C# and JavaScript Classes
- Microsoft AJAX Library - Associative Arrays
- Microsoft AJAX Library - Creating Object Members on the Fly
- Microsoft AJAX Library - JavaScript Execution Context
- Microsoft AJAX Library - Inheritance using Closures
- Microsoft AJAX Library - Inheritance using Prototypes
- Microsoft AJAX Library - Introducing JSON
Tutorials
Microsoft AJAXMicrosoft AJAX Library - Functions as Variables
Functions as Variables
In JavaScript, functions are first-class objects. This means that a function is regarded as a data type whose values can be saved in local variables, passed as parameters, and so on. For example, when defining a function, you can assign it to a variable, and then call the function through this variable. Take this example:
- // displays greeting
- var display = function DisplayGreeting(hour)
- {
- if (hour >= 22
hour <= 5) - document.write("Goodnight, world!")
- else
- document.write("Hello, world!")
- }
- // call DisplayGreeting supplying an hour as parameter
- display(10)
When storing a piece of code as a variable, as in this example, it can make sense to create it as an anonymous function—which is, a function without a name. You do this by simply omitting to specify a function name when creating it.
- // displays greeting
- var display = function(hour)
- {
- ...
- }
Anonymous functions will come in handy in many circumstances when you need to pass an executable piece of code that you don't intend to reuse anywhere else, as parameter to a function.
Let's see how we can send functions as parameters. Instead of sending a numeric hour to DisplayGreeting(), we can send a function that in turn returns the current hour. To demonstrate this, we create a function named GetCurrentHour(), and send it as parameter to DisplayGreeting(). DisplayGreeting() needs to be modified to reflect that its new parameter is a function—it should be referenced by appending parentheses to its name. Here's how:
This code can be tested online at http://www.cristiandarie.ro/asp-ajax/Delegate.html" target="_blank" rel="nofollow". The output should resemble Figure 3-1.

NOTE: NET languages such as C# and VB.NET support similar functionality through the concept of delegates. A delegate is a data type that represents a reference to a function. An instance of a delegate represents a function instance, and it can be passed as a parameter to methods that need to execute that function. Delegates are the technical means used by .NET to implement event-handling. C# 2.0 added support for anonymous methods, which behave similarly to JavaScript anonymous functions.
Comments
0 said:
| I need a sample program that reads the character of a string in an array. |
Sponsored Links
