webForumDet fria alternativet

Funderingar kring prototype

3 svar · 604 visningar · startad av Troxy

TroxyMedlem sedan mars 20041 505 inlägg
#1

Hej, jag har lite funderingar kring prototype-delen i Javascript.
(Och nu menar jag inte ramverket Prototype :P )

När man skapar classer (eller snarare instansierar funktioner) vad har man då för nytta av att använda sig av prototype-objektet?

En mer konkret fråga: Vad är det för skillnad på dessa två exempel?

function Foo() {
   this.bar = function() {
      // Gör någonting
   }
}

var test = new Foo();
test.bar();
function Foo() {
}

Foo.prototype.bar = function() {
   // Gör någonting
}

var test = new Foo();
test.bar();

Hoppas någon orkar reda ut detta! :birp

stevenetMedlem sedan juni 20001 251 inlägg
#2

Prototype-objektet körs före objekt-konstruktorn.

function Foo(){
 this.bar=4;
}
var FooObj = new Foo();
Foo.prototype.bar = 2;
var FooObj2 = new Foo();
alert(FooObj.bar); // visar 4
alert(FooObj2.bar); // visar 4

[r] Finns lite mer att läsa här: http://www.sitepoint.com/article/oriented-programming-2/2

FuelMedlem sedan okt. 20001 285 inlägg
#3

OT: fan .. stevenet .. finns du kvar fortfarande? :e minns när jag frågade som nybörjare om min första php kod .. hehe

TroxyMedlem sedan mars 20041 505 inlägg
#4

stevenet, aha! Nu förstår jag lite bättre.
Btw, så hittade jag en intressant "rakt-på-sak"-artikel om egenskaper och metoder på objekt:
http://www.crockford.com/javascript/private.html

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
134 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)