Mi az alábbi programrészletben az "I" és mit ad vissza a "return i"?
function Bullet(I) {
I.active = true;
I.xVelocity = 0;
I.yVelocity = -I.speed;
I.width = 3;
I.height = 3;
I.color = "#000";
I.inBounds = function() {
return I.x >= 0 && I.x <= CANVAS_WIDTH &&
I.y >= 0 && I.y <= CANVAS_HEIGHT;
};
I.draw = function() {
canvas.fillStyle = this.color;
canvas.fillRect(this.x, this.y, this.width, this.height);
};
I.update = function() {
I.x += I.xVelocity;
I.y += I.yVelocity;
I.active = I.active && I.inBounds();
};
return I;
}
I-ről semmi nem derül ki, valszeg ez le sem fordul.
A "return i" pedig i-t adja vissza.
Az I egy objektum, valamilyen osztály egy példánya.
Sajnos a kódrészléből nem derül ki, hogy mi fán terem.
Annyit tudni róla, hogy van vektoros sebessége, pozíciója, mérete, színe és ki lehet rajzolni a draw() metódussal.
Az I egy objektum, aminek kell legyen egy speed, egy x, és egy y nevű adattagja.
Ez a függvény pedig egy konstruktor, a return I a létrehozott objektumot adja vissza, aminek már van több adattagja és metódusai is.
ennek kellene benne lenni:
this.I
Függvényargumentumként adod át az I-t a szükséges adattagokkal, amit ez a függvény tesz "teljes" objektummá és már ezt a teljes objektumot adja vissza a return I.
Ez egyébként egy tipikus JS technika.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!