#javascript #function #while-loop
Вопрос:
Я хочу использовать while
цикл для зацикливания и активации функции 5 раз. Но у меня есть проблемы с тем, чтобы заставить функцию myFunction
работать внутри while
цикла. Цикл работает сам по себе, если я удалю функцию. Что не так?
var c = 0;
var p = 0;
while (c < 5 amp;amp; p < 5) {
function myFunction() { // How to make this function work?
c ;
document.write(c);
}
if (c == 5) {
document.write(c);
document.write('computer win');
}
else if (p == 5) {
document.write('player win');
}
}
Комментарии:
1. Вы объявляете функцию в цикле, но не вызываете ее.
Ответ №1:
var c = 0;
var p = 0;
function myFunction() {
c ;
document.write(c);
}
while (c < 5 amp;amp; p < 5) {
myFunction();
if (c == 5) {
document.write(c);
document.write('computer win');
} else if (p == 5) {
document.write('player win');
}
}
В JavaScript или любом другом языке вы должны определить функцию, чтобы вызвать ее. И определение функции внутри цикла-это очень плохая практика, которая, вероятно, приводит к ошибке.
Ответ №2:
Вы объявляете функцию в цикле, но не вызываете ее.
function myFunction() { // how to make this function work?
c ;
document.write (c);
}
var c = 0;
var p = 0;
while ( c < 5 amp;amp; p < 5) {
myFunction();
if ( c == 5 ) {
document.write (c);
document.write ('computer win');
} else if ( p == 5 ) {
document.write ('player win');
}
}
Комментарии:
1. c не определен
2. @AsiriH. Нажмите «Запустить фрагмент кода» и посмотрите, как это работает. Объявления переменных отображаются в JavaScript: developer.mozilla.org/en-US/docs/Glossary/Hoisting
3. @AsiriH. это происходит, когда вызывается функция.
Ответ №3:
Вы не вызывали функцию, а просто объявили ее.