March 2, 2001 - Finding Object Hierarchy
March 2, 2001 Finding Object Hierarchy Tips: March 2001
Yehuda Shiran, Ph.D.
|
__proto__
property as a private property. The __proto__
property denotes the higher-level class hierarchy from which properties and methods are inherited. The following code demonstrates that indeed the object inheritance chain is as planned:
function State() {
}
function City() {
}
City.prototype = new State;
function Street() {
}
Street.prototype = new City;
var UniversityAvenue = new Street();
tryIt();
function tryIt() {
alert(UniversityAvenue.__proto__== Street.prototype);
alert(UniversityAvenue.__proto__.__proto__== City.prototype);
alert(UniversityAvenue.__proto__.__proto__.__proto__== State.prototype);
alert(UniversityAvenue.__proto__.__proto__.__proto__.__proto__== Object.prototype);
alert(UniversityAvenue.__proto__.__proto__.__proto__.__proto__.__proto__== null);
}
In this example, UniversityAvenue
inherits from Street
, which inherits from City
, which inherits from State
. All alert boxes will yield a value of true
on Netscape Navigator 4.x and Netscape 6. Try it. Not supported by Internet Explorer.