Fri, 29 Apr 2005:
The first thing a young Java programmer learns while reading through his first java book is the get/set convention. But when you look at C# you will notice that it has a properties construct (purely syntactic sugar) which enforces a few more good design rules and in general makes code cleaner. Properties in Javascript is pretty much undocumented and I've not found much documentation on this - and it is a Mozilla only hack.
function MyClass() { }
MyClass.prototype.__defineGetter__("foo", function() {
return "I am the foo";
});
MyClass.prototype.__defineSetter__("foo", function(value) {
print(value + " is no good");
});
var a = new MyClass();
print(a.foo);
a.foo = "slashdot";
Would happily give the following output
I am the foo slashdot is no goodThe code is pretty much self-explanatory. If you don't think this is of much use, continue reading.
if(!document.all)
{
Event.prototype.__defineGetter__("offsetX", function () {
return this.layerX;
});
Event.prototype.__defineGetter__("offsetY", function () {
return this.layerY;
});
}
Javascript is a truly powerful language. But all graduate students try is to dig into assembly and kernel programming - leaving javascript and webdev to the lesser mortals. It's time all that changed.
