Gamei erstellt die folgende "Klasse":Übergeben eines Objekts zur Funktion. JavaScript
function State(){
this.board = [];
for (i=0; i< 9; i++){
var row = [];
for (j=0; j< 9; j++){
row.push(0);
}
this.board.push(row);
}
}
es eine Methode hat nextEmptyCell genannt:
State.prototype.nextEmptyCell = function(){
...
}
Ich habe eine Instanz dieser Klasse und übergeben sie an eine andere Funktion.
game = new State();
function solveSudoku(game){
var next = game.nextEmptyCell();
...
}
Auf der folgenden Zeile: var next = game.nextEmptyCell();
Ich erhalte eine Fehlermeldung, dass:
"Uncaught TypeError: Cannot read property 'nextEmptyCell' of undefined".
Ich verstehe nicht, warum ‚Spiel‘ nicht definiert und wie ist diese Fehler zu beheben. Link zum vollständigen Code: jsfiddle.net/py6kv7ps/5
P.S. Gibt es eine bessere Möglichkeit, JS als OOP zu verwenden?
Ist das denn sein 'var next = game.nextEmptyCell();'? (I.e. 'game' statt' state'.) –
Ja, tut mir leid. Ich habe beim Schreiben der Frage einen Fehler gemacht. Es sollte game.nextEmptyCell() sein. Das ist jedoch nicht das Problem. – Yhlas
@Yhlas Das nächste Mal übergeben Sie Ihren Code in jsfiddle, genau hier. – 7urkm3n