Código Javascript :
// Creo una "clase" llamada Escenario function Escenario(infoResiduos) { this.infoResiduos = infoResiduos; } // Declaro una función allReady que me indique si las imágenes han sido cargadas para poder dibujarlas luego a todas juntas Escenario.prototype.allReady = function() { // Verificar si todos los residuos se han cargado. for(i=0; i<this.infoResiduos.length; ++i) if( ! residuos[ this.infoResiduos[i].r ].ready ) return false; return true; } // Se intenta graficar, pero antes se asegura de que si no está todo listo aborte la operación. Escenario.prototype.graficar = function() { if( ! this.allReady() ) return; for(i=0; i<this.infoResiduos.length; ++i) residuos[this.infoResiduos[i].r].graficar(); }
Obtengo un error en la línea:
Código Javascript :
if( ! this.allReady() ) return;
Indicándome "undefined is not a function". ¿A qué se deberá?
Yo he intentado hacer lo siguiente desde la consola de Chrome y funciona sin problemas:
Código Javascript :
var Recurso = function() {} Recurso.prototype.funcA = function() { console.log("hola"); } Recurso.funcA(); // no funciona porque no es método estático, eso es bueno var obj = new Recurso(); obj.funcA(); // imprime hola Recurso.prototype.funcB() = function() { this.funcA(); } obj.funcB(); // imprime hola
Esto último equivale a lo que intento hacer en el fragmento de arriba, ¿qué ocurre entonces?
Espero que puedan ayudarme, gracias de antemano.