expressForce Postado Maio 29, 2011 Denunciar Share Postado Maio 29, 2011 Bem, galera, eu to desenvolvendo um código que contém a seguinte classe:function Tabuleiro(){ var malha_aux = new Array(2); malha_aux[0] = new Array(20); malha_aux[1] = new Array(20); this.malha = malha_aux; this.getMalha = getMalha; this.setMalha = setMalha; this.getPos = getPos; this.setPos = setPos; this.initTabuleiro = initTabuleiro; function getMalha(){ return malha; } function setMalha(malha){ this.malha = malha; } function getPos(indx_X, indx_Y){ return this.malha[indx_X][indx_Y]; } function setPos(indx_X, indx_Y, content){ this.malha[indx_X][indx_Y] = content; } function initTabuleiro(){ for(var i=0; i<20; i++){ for(var j = 0; j<20; j++){ this.malha[i][j] = 0; } } } }Mas quando instancio um objeto dessa classe e chamo o método initTabuleiro(), o console de erros do Firefox diz que "this.malha is undefined".Já to desesperado aki.. O q foi q eu fiz de errado? Ajuda ae galera. Sô iniciante no javascript e preciso aprender mais. Flws! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Maio 30, 2011 Denunciar Share Postado Maio 30, 2011 i aew expressForce, bom o seu problema está na lógica, vamos por partes:var malha_aux = new Array(2); malha_aux[0] = new Array(20); malha_aux[1] = new Array(20); this.malha = malha_aux; aqui você seta o atributo malha_aux como um array com 2 elementos o indice 0 e 1 vai conter um array com 20 posições, e atribui malha_aux a this.malha. na sua função init você tem isso: for(var i=0; i<20; i++){ for(var j = 0; j<20; j++){ this.malha[i][j] = 0; } }você faz um for enquanto a variavel i for menor que 20, logo abaixo você tenta atrinuir 0 a this.malha, quando o i for = 2, ele já irá lançar o erro, pois em cima você declaraoumalha _aux contendo apenas 2 posições, é isso aew, espero que ajude, abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
expressForce
Bem, galera, eu to desenvolvendo um código que contém a seguinte classe:
Mas quando instancio um objeto dessa classe e chamo o método initTabuleiro(), o console de erros do Firefox diz que "this.malha is undefined".
Já to desesperado aki.. O q foi q eu fiz de errado? Ajuda ae galera. Sô iniciante no javascript e preciso aprender mais.
Flws!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.