#javascript #arrays #while-loop
#javascript #массивы #цикл while
Вопрос:
Я пытаюсь вставить цикл while в функцию с именем myFunction . Когда вы нажимаете на кнопку, она должна отображать результат массива.
<!DOCTYPE html>
<html>
<body>
<button id="btn">Click Me!</button>
<p id="i"><strong>this</strong> represents:</p>
<p id="demo"></p>
<script>
function myFunction () {
let i = 0;
while(i<5){
document.write(i '<br/>');
i ;
}
}
var btn = document.getElementById("btn");
btn.addEventListener("click", myFunction());
</script>
</body>
</html>
Комментарии:
1. Во-первых, в моей функции отсутствуют круглые скобки. Во-вторых, was() не объявлен и вместо этого должен иметь myFunction .
2. — строка: «function myFunction {» изменить на «function was () {» И, я думаю, вы хотите использовать document.getElementById(«demo»).innerHTML, а не document.write
Ответ №1:
Попробуйте так:
<!DOCTYPE html>
<html>
<body>
<button id="btn">Click Me!</button>
<p id="i"><strong>this</strong> represents:</p>
<p id="demo"></p>
<script>
function myFunction() {
console.log(1)
let i = 0;
while (i < 5) {
document.write(i '<br/>');
i ;
}
}
var btn = document.getElementById("btn");
btn.addEventListener("click", myFunction);
</script>
</body>
</html>
Было исправлено несколько незначительных ошибок, например was()
, должно быть myFunction
, и определение myFunction
необходимых скобок ()
после имени функции.
Комментарии:
1. Спасибо, я спешил опубликовать, и я пропустил замену «было» на «myFunction»
2. Поэтому при вызове функции в add eventlistener я должен исключить ()? btn.addEventListener(«click», myFunction());
3. Это зависит от того, если все, что вы хотите сделать, это вызвать функцию без передачи каких-либо аргументов, вы можете сделать
btn.addEventListener("click", myFunction);
. Если вам нужно сделать больше, чем это, вы можете сделать это следующимbtn.addEventListener("click", function() { /* do stuff */ myFunction(); anotherFunction(myArg); });
образом, попробуйте сами и посмотрите, что работает для вас 🙂
Ответ №2:
Вы пропускаете () после myFunction:
function myFunction() {
let i = 0;
while(i<5){
document.write(i '<br/>');
i ;
}
}
вы уверены, что хотите использовать document.write
, а не console.log(i)
?