March 16, 2001 - Defining an Object's Methods with Anonymous Functions | WebReference

March 16, 2001 - Defining an Object's Methods with Anonymous Functions

Yehuda Shiran March 16, 2001
Defining an Object's Methods with Anonymous Functions
Tips: March 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

An object constructor is written as a regular function. Here is the Employee object:

function Employee() {
  this.dept = "HR";
  this.manager = "John Johnson";
}

When you create an object, it automatically inherits all Object's properties (constructor, toString(), hasOwnProperty(), etc.) You can add properties to the object by attaching them to the this value within the constructor function, as shown above. As for the methods, there are three different ways to define them. One of them calls for anonymous function creation, inside the constructor function. Anonymous function is defined without a name. Let's define a method, setRegisterA():

function Employee() {
  var registerA = "Initial Value";
  this.setRegisterA = function(param) { registerA = param };
  this.dept = "HR";
  this.manager = "John Johnson";
}

Let's use it now. First, create a variable of class Employee:

var Ken = new Employee;

And then store a new value in Register A:

Ken.setRegisterA("new value stored in 010315");