Potential Extensions

Even a little bit of creativity can take you places with this application. Here are a few of the possibilities that come to mind:

  • Make “smarter” products.

  • Add refined search capabilities.

  • Add cookie features for frequent shoppers.

Making Smarter Products

It’s not as though each product has its own IQ. Suppose, however, you added a property, an array, to the product constructor that held the names and category/product number pairs of those products related to the one currently in view. The product constructor might then look like so:

function product(name, description, price, unit, related) {
  this.name = name;  
  this.description = description;
  this.price = price;
  this.unit = unit;
  this.related = related;
  this.plu = name.substring(0, 3).toUpperCase() +
     parseInt(price).toString();
  this.icon = new Image();
  return this;
  }

The argument related represents an array that you can assign to the related property. Whenever the user views a product, you could then iterate through the related elements, generating links to them. This is a way to cross-market your products.

If this sounds a little new to you, visit http://www.amazon.com. Search for a book on one of your favorite topics. When you click on one of the links from the results list, the page profiling your book will also provide links to other books purchased by those who bought the book you’re viewing.

Add Refined Search Capabilities

This goes back to extending the search engine capabilities, but there are ...

Get JavaScript Application Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.