What's Prototypes for JavaScript?

Q

What's Prototypes for JavaScript?

✍: Guest

A

Objects have "prototypes" from which they may inherit fields and functions.

<script type="text/javascript">
function movieToString() {
   return("title: "+this.title+"  director: "+this.director);
   }
function movie(title, director) {
   this.title = title;
   this.director = director || "unknown"; //if null assign to "unknown"
   this.toString = movieToString; //assign function to this method pointer
   }
movie.prototype.isComedy = false; //add a field to the movie's prototype
   
var officeSpace = new movie("OfficeSpace");
var narnia = new movie("Narni","Andrew Adamson");
document.write(narnia.toString());
document.write("<br />Narnia a comedy? "+narnia.isComedy);
officeSpace.isComedy = true; //override the default just for this object
document.write("<br />Office Space a comedy? "+officeSpace.isComedy);
</script>

2011-08-23, 3675👍, 0💬