Сегодня, я начал кодировать страницу, которая подскажет пользователю выбрать свой ПК спецификации, а код, как следоватьЛокальные и глобальные переменные в JavaScript
<html>
<title>Computer Specification Chooser</title>
<head>
<script type="text/javascript">
var compSpec = document.compChooser;
function processorUnavailable_onclick()
{
alert("Sorry that processor speed is currently unavailable");
compSpec.processor[2].checked = true;
}
</script>
</head>
<body>
<form name="compChooser">
<p>Tick all components you wan included on your computer</p>
<p>
DVD-ROM
<input type="checkbox" name="chkDVD" value="DVD-ROM" />
<br />
CD-ROM
<input type="checkbox" name="chkCD" value="CD-ROM" />
<br />
Zip Drive
<input type="checkbox" name="chkZIP" value="ZIP DRIVE" />
</p>
<p>
Select the processor speed you require
<br />
<input type="radio" name="processor" value="3.8" />
3.8 GHZ
<input type="radio" name="processor" value="4.8" onclick="processorUnavailable_onclick()" />
4.8 GHZ
<input type="radio" name="processor" value="6" />
6 GHZ
</p>
<input type="button" name="btnCheck" value="Check Form" />
</form>
</body>
</html>
Проблема я столкнулся находится на функции что я привязываюсь к обработчику событий, когда я пытаюсь выбрать радиокнопку процессора 4,8 ГГц, да, он предупреждает меня с сообщением внутри функции, но после этого он не выполняет следующий оператор внутри функции , то есть проверить следующее значение процессора 6 GHZ.
Я стараюсь изменить его и проверить на нем, и выясните, когда я установил var compSpec = document.compChooser
в качестве локальной переменной внутри функции вместо глобальной переменной, следующий оператор мог быть выполнен.
Но я думал о глобальной переменной, он доступен везде и на странице, а также внутри функции. Но почему теперь я не могу получить доступ к ней внутри моей функции? Любая идея?
Кроме того, я наткнулся на странную статью во время поиска в Интернете, в ней говорится, что когда создается глобальная переменная, она добавляется к объекту window.I просто интересно, почему это происходит? И каковы преимущества и возможности использования этого?
СПАСИБО
Наконец-то я знаю, что проблема заключается в разборе вниз, но еще одна проблема, это ?? Почему когда я звоню функция перед ее созданием, все равно можно выполнить? – caramel1995
Это хороший вопрос, есть несколько хороших ответов здесь: http://stackoverflow.com/questions/261599/why-can-i-use-a-function-before-its-defined-in-javascript – meouw