Book Image

Object-Oriented JavaScript

By : Stoyan Stefanov, Stoyan STEFANOV
Book Image

Object-Oriented JavaScript

By: Stoyan Stefanov, Stoyan STEFANOV

Overview of this book

Table of Contents (18 chapters)
Object-Oriented JavaScript
About the Author
About the Reviewers
Built-in Functions
Regular Expressions

Augmenting Built-in Objects

The built-in objects such as the constructor functions Array, String, and even Object, and Function can be augmented through their prototypes, which means that you can, for example, add new methods to the Array prototype and in this way make them available to all arrays. Let's do this.

In PHP there is a function called in_array() that tells you if a value exists in an array. In JavaScript there is no inArray() method, so let's implement it and add it to Array.prototype.

Array.prototype.inArray = function(needle) {
  for (var i = 0, len = this.length; i < len; i++) {
    if (this[i] === needle) {
      return true;
  return false;

Now all arrays will have the new method. Let's test:

>>> var a = ['red', 'green', 'blue'];
>>> a.inArray('red');


>>> a.inArray('yellow');


That was nice and easy! Let's do it again. Imagine your application often needs to reverse strings and you feel there should be a built...