I’m hesitant to use just any tutorial because I know how those tutorials can end up being, teaching you bad ways to do things. I want to setup a class in Javascript, so that I can just do
var vehicle = new Vehicle(el);
var model = vehicle->getModel();
These functions would read the HTML and get and manage the elements on the page. I’m current doing a setup like…
var model = function () {
return {
getName: function () {
},
getVehicleCount: function () {
},
incrementCount: function (id) {
console.log(x);
}
}
}();
I’m still learning classes in Javascript… I’d like to be able to pass the class a node for the element all of the methods will use, but I’m not sure I’m doing this right…
There is no such thing as a class in JavaScript, instead everything in JavaScript is an object.
To create a new object you define a function that uses the
thiskeyword in it (a “constructor function”), and then call it with thenewoperator:However, these objects have no methods. To add methods, you need to define a prototype object on their constructor function:
This new
getIdfunction will be usable by allFooobjects. However, as was stated, there are no classes in JavaScript and as such there are other constructs you will use in order to produce different results.I highly recommend the videos by Douglas Crockford in which he explains much of the javascript OO nature. The talks can be found here:
http://developer.yahoo.com/yui/theater/
Douglas Crockford — The JavaScript Programming Language
Douglas Crockford — Advanced JavaScript
Those will give you a basic understanding of the structure of javascript and should help the transition from classical to functional programming.