Hi,
> I'm trying to understand the use of OOP with jQuery. In creating
> a fairly complex web application I have made extensive use of the class
> attribute. Further, I've been successful in binding events to the classes,
> setting styles, and that sort of thing.
> What I have not had much luck with is the creation of class attributes
> or methods. I simply don't understand the technique, and this seems to be
> the one spot where the (really great!) docs are a bit sparse.
As much as I understand, you try to use the HTML class attribute as class for
programming. The first thing is, that javaScript doesn't have classes, the
second thing is that the two concepts of "class" don't have much to do with
each other.
In javaScript you do object-oriented Programming with prototypes:
function Patient(age) {
// this is something like the constructor
this.age = age
}
Patient.prototype = {
// here we define a prototype for all myClass objects.
myValue: 11
};
function femalePatient(shoesize) {
Patient.apply(this,42);
this.shoesize = shoesize
}
femalePatient.prototype = new Patient(0); // here we derive
femalePatient.prototype.shoesize = 38;
var myObject = new myDerivedClass(37);
alert(myObject.age); // alerts 42
alert(myObject.shoesize); // alerts 37
A Prototype is an Object that is copied for each instance.
> The docs suggest extend() ...
extend() just extends an object. You can add attributes and functions
dynamically to existing objects with javaScript. extend() simply takes all
attributes and functions of the provided object and adds them to the other
object. You can use it to exentend a prototype as well of course.
Christof
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/