В настоящее время я работаю над курсовой работой в области компьютерных наук, где нам необходимо автоматизировать последовательность светофора с помощью кнопок, например «Traffic Lights On» или «Traffic Lights off». Когда я запускаю свою программу через отладчик Internet explorer, я получаю код ошибки: «Значение свойства« Таймер »имеет значение null или undefined, а не объект Function» в строке 5 моего кодирования, хотя я определил его как функция позже в скрипте. Мое программирование можно найти ниже:JavaScript Traffic Light Sequence: значение свойства «Timer» имеет значение null или undefined, а не объект Function
<!DOCTYPE html>
<html>
<body>
<p>
<button type="button" onclick="Timer()"> Start Lights</button>
<button type="button" onclick="StopTimer()"> Stop lights</button>
</p>
<img id = "TrafficLight" src="http://imgur.com/FHT9OoG.jpg">
<script>
var TrafficLightList = [
"http://imgur.com/FHT9OoG.jpg",
"http://imgur.com/XZ1PxGh.jpg",
"http://imgur.com/5DUX0Wy.jpg",
"http://imgur.com/WpeEMZU.jpg"
];
var Automation = 0;
var TimeBetweenChange = null;
function ChangeLightAutomated() {
if(Automation == TrafficLightList.length) Automation = 0;
var Light = document.getElementById("TrafficLight");
image.src = TrafficLightList[Automation];
image.alt = TrafficLightList[Automation] //debugger
Automation = Automation + 1;
}
function Timer() {
if(!TimeBetweenChange) {
TimeBetweenChange = self.setTimeBetweenChange(ChangeLightAutomated, 1000);
}
}
function StopTimer() {
self.clearTimeBetweenChange(TimeBetweenChange);
TimeBetweenChange = null;
}
</body>
</script>
</html>
Как я уже говорил ранее, ошибка, как представляется, в строке 5 программы, как «Таймер» не определен, даже если я определить, что функция таймера находится на линии 28 .