Netscape 6, Part VI: Object-Oriented DOCJSLIB 1.2: Creating a Class on the Fly - Doc JavaScript
Netscape 6, Part VI: Object-Oriented DOCJSLIB 1.2
Creating a Class on the Fly
The function createTheProperSubClass()
creates on the fly the proper browser-dependent object. The function actually defines a class with one property, className
, and one method, getTheProperSubClass
. The property className
depends on the browser type:
var browserType = new browserSniffer();
if (browserType.ie4) {
this.className = "docjslibIE4SubClass";
}
else if (browserType.ie5) {
this.className = "docjslibIE5SubClass";
}
else if (browserType.ns4) {
this.className = "docjslibNS4SubClass";
}
else if (browserType.ns6) {
this.className = "docjslibNS6SubClass";
}
We then define the method getTheProperSubClass()
:
this.getTheProperSubClass = getTheProperSubClassMethod;
function getTheProperSubClassMethod() {
// example: return new docjslibIE5SubClass();
return eval('new ' + this.className + '()');
}
Notice that the ultimate impact of createTheProperSubClass() function is to generate a string for a new object. For IE5, it should be:
new docjslibIE5SubClass();
For NS6, it should be:
new docjslibNS6SubClass();
We'll show you later in this column how to assign a variable name to this new object.
Next: How to write a browser-independent superclass
Produced by Yehuda Shiran and Tomer Shiran
All Rights Reserved. Legal Notices.
Created: February 12, 2001
Revised: February 12, 2001
URL: https://www.webreference.com/js/column77/6.html