Ich kann denn Unterschied, den ich zu PHP (und vermutlich Java) mit seinen Properties/Eigenschaften und Methods/Methoden nicht so recht in Worte fassen, den ich sehe:
Ich kann nicht erkennen, worauf du hinaus willst.
function Test(a) {
this.b = function() {
this.constructor.staticC = a + "abc";
};
}
//~ var test1 = new Test("test1");
//~ var test2 = new Test("test2");
//~ test2.b();
//~ alert(Test.staticC);
//~ test1.b();
alert(Test.staticC);
alert(typeof Test.staticC); // undefined
Function.prototype.a = "doch";
alert(Test.a); //doch
Auch hier nicht.
Das Beispiel war von mir nur gewählt, um
1) zu zeigen, dass Funktionen Eigenschaften haben können
2) zu demonstrieren, daß sich damit etwas wie statische Variablen realisieren lassen.
~~~javascript
function Test() {
this.getStatic = function() {
return this.constructor.staticC;
};
};
Test.staticC = "abc";
var test1 = new Test();
alert(test1.getStatic());
das würde allen Funktionen die Eigenschaft geben
z.B. bind in alten Browsern verfügbar machen
if (!Function.prototype.bind) {
Function.prototype.bind = function (obj) {
...
};
}