w3schools valor una tipos retornar pasar parametros funciones funcion desde basicas anonimas anidadas javascript callback dojo color-palette

valor - Acceder a las funciones de javascript definidas en diferentes archivos



retornar valor de una funcion javascript (2)

Estoy teniendo dos problemas aparentemente relacionados para acceder a la función de Javascript definida en diferentes lugares. El primer problema que estoy teniendo es llamar a la función que he definido desde la consola de firgbug o safari. Definí una función llamada getRed que se ve así:

function getRed(row, col) { // do something stuff and return the red value as a float }

Me gustaría poder probar esta función desde la consola, pero cada vez que intento llamar a getRed (1,1); por ejemplo, me sale un error como este: ReferenceError: getRed no está definido

¿Debo hacer una llamada especial para definir el espacio de nombres? Defino esta función en un archivo javascript llamado drawing.js que se define muy temprano en mi página html.

El otro problema que estoy teniendo es llamar a una función definida en ese mismo archivo drawing.js desde el método onChange: de mi paleta de colores dojo. Aquí está el código para la paleta de colores:

<script type="text/javascript" src="drawing.js"></script> //the method colorChange is inside drawing.js which is defined before the dojo //color palette <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js" djConfig="parseOnLoad: true"> </script> <script type="text/javascript"> dojo.require("dojox.widget.ColorPicker"); dojo.addOnLoad(function() { var c = new dojox.widget.ColorPicker({ onChange: function(val) { console.log("BEFORE"); colorChange(val); console.log("AFTER"); } }, "picker1"); }); </script>

Aquí está la definición de changeColor dentro del archivo drawing.js:

function colorChange(val) { console("colorChange!"); }

Cada vez que hago clic en la paleta de colores, aparece el siguiente error: ReferenceError: colorChange no está definido.

Soy muy nuevo en javascript y estoy seguro de que estos dos problemas tienen una solución muy similar y fácil, pero no he podido encontrar la respuesta en línea. ¿Puede alguien ayudarme?

Estoy bastante seguro de que el script se está cargando como muestra esta captura de pantalla:


La consola está en el mismo alcance global que su página. Como getRed() y colorChange() están definidos en drawing.js y ninguno se puede encontrar en el alcance global, sospecho que drawing.js no se está incluyendo correctamente.

Para comprobar que drawing.js está realmente incluido (es decir, y tiene la ruta del archivo correcta), vaya a la pestaña Script de Firebug. Enumerará todos los scripts incluidos en la página actual.


No hay necesidad de configuración adicional, todo lo que necesita es asegurarse de que su drawing.js esté incluido, verifique si la ruta al archivo es correcta. Si es correcto, no debería haber problemas con la invocación.

Simplemente verifique si su ubicación js es real, si su archivo js está en la raíz simplemente agregue una barra en frente de la ubicación para que se cargue siempre desde www.example.com/drawing.js Agregue el atributo language = "javascript" a su <script. ...

Espero que esto ayude.