У меня две, казалось бы, связанные проблемы с доступом к функции javascript, определенной в разных местах. Первая проблема, с которой я столкнулся - это вызов функции, которую я определил из консоли firgbug или safari. Я определил функцию с именем getRed, которая выглядит следующим образом:
function getRed(row, col)
{
// do something stuff and return the red value as a float
}
Я хотел бы иметь возможность протестировать эту функцию с консоли, но каждый раз, когда я пытаюсь вызвать getRed (1,1); например, я получаю сообщение об ошибке, подобное этому: ReferenceError: getRed не определено
Нужно ли делать специальный вызов для определения пространства имен? Я определяю эту функцию в файле JavaScript, называемом Drawing.js, который определен очень рано на моей HTML-странице.
Другая проблема, с которой я сталкиваюсь, - это вызов функции, определенной в том же файле Drawing.js из метода onChange: моей цветовой палитры dojo. Вот код для цветовой палитры:
<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>
Вот определение changeColor внутри файла drawing.js:
function colorChange(val)
{
console("colorChange!");
}
Каждый раз, когда я нажимаю на цветовую палитру, я получаю следующую ошибку: ReferenceError: colorChange не определен.
Я очень новичок в javascript, и я уверен, что эти два вопроса имеют очень похожее и простое решение, но я не смог найти ответ в Интернете. Может кто-нибудь мне помочь?
Я почти уверен, что скрипт загружается, как показано на следующем снимке экрана:
![enter image description here](https://i.stack.imgur.com/XnuBB.png)