Avatar billede tzr Nybegynder
16. maj 2007 - 06:17 Der er 4 kommentarer og
1 løsning

Javascript object function problem

Jeg har følgende kode:

var game = new Game();
debug(game.getConsolePrefix());

function Game() {
    this.username = "user";
    this.location = "localhost";
    this.directory = "/";
}

Game.prototype.getConsolePefix = function() {
    return this.username + "@" + this.location + ":" + this.directory;
}

debug(string) er defineret andetsteds og er ikke vigtig. Kan godt være det bare fordi jeg er træt, men jeg kan ikke rigtig hitte ud af hvorfor Firefox giver mig fejlen Error: "game.getConsolePrefix is not a function"
Avatar billede phliplip Nybegynder
16. maj 2007 - 08:22 #1
Game.prototype.getConsolePefix = Game.prototype.getConsolePrefix !-)
Avatar billede tzr Nybegynder
16. maj 2007 - 16:10 #2
phliplip << Nej det hjalp heller ikke

Løste selv problemet efter at have sovet på det. Det er fordi jeg prøver at definere objektet før selve koden til objektet er der ... nogen gang elsker jeg at hade Javascript! hehe :)

Ny kode:

var game = null;

function Game() {
    this.username = "user";
    this.location = "localhost";
    this.directory = "/";
}

Game.prototype.getConsolePrefix = function() {
    return this.username + "@" + this.location + ":" + this.directory;
}

function initGame() {
    game = new Game();
    debug(game.getConsolePrefix());
}

initGame() bliver kaldt fra window.onload
Avatar billede roenving Novice
16. maj 2007 - 16:21 #3
-- lige det burde ingen trille spille, men hvis det virker, såeh ...
Avatar billede tzr Nybegynder
16. maj 2007 - 16:29 #4
roenving << nej se det ville jeg også mene, men det virker ikke, og nu virker det
Avatar billede olebole Juniormester
21. maj 2007 - 14:06 #5
<ole>

Jo, roenving ... hvis browseren endnu ikke har læst og kender constuctor-funktionen, kan denne naturligvis ikke kaldes. Dette går ikke:

var game = new Game();
function Game() {
    this.username = "user";
    this.location = "localhost";
    this.directory = "/";
}

- men det gør:

function Game() {
    this.username = "user";
    this.location = "localhost";
    this.directory = "/";
}
var game = new Game();



/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester