в моей функции он запускает document.write 10 раз, что я указал - PullRequest
0 голосов
/ 27 сентября 2018

когда я пытаюсь запустить

 function thing(number) {
  for (i = 1; i < number+1; i++){
      document.write(i + ' ');
  }
}	
var otherthing = prompt("");
thing(otherthing);

когда оно повторяется document.write(i); оно повторяется в 10 раз больше, чем указано. Я немного перепутал и не могу его получить.Я также новичок в JavaScript, и я открыт для любых других советов или отзывов

Ответы [ 4 ]

0 голосов
/ 27 сентября 2018

Используйте Number для преобразования строки в число:

for (i = 1; i < Number(number) + 1 ; i++) {

function thing(number) {
  for (i = 1; i < Number(number) +1 ; i++) {
    document.write(i + ' ');
  }
}	

var otherthing = prompt("");
thing(otherthing);
0 голосов
/ 27 сентября 2018

Скажите, если это работает для вас.

function thing(aNumber) { 
  aNumber = Number(aNumber) + 1;
  for (i = 1; i < aNumber; i++){ 
    document.write(i + ' ');

    }
}   
var otherthing = prompt(""); 
thing(otherthing);

Редактировать: Причина, по которой код не работал раньше, заключается в том, что входные данные из приглашения интерпретировались как строка, а не число.Таким образом, часть Number(aNumber) - это то, что делает это редактирование действительно работоспособным, поскольку это явно говорит JavaScript, что переменная является числом, а не строкой.Кроме того, я подозреваю, что «число» - это ключевое слово, которое нельзя использовать для переменных, так же, как вы не можете использовать слова «функция» или «переменная» в качестве переменных.Поэтому я изменил его на «номер» вместо «номер».

0 голосов
/ 27 сентября 2018

как объяснено Jaromanda X , тип данных числового аргумента в функции функции - это строка, а не тип int, float или другой тип данных числа.Поэтому вам нужно сначала изменить его на номер.Как то так:

function thing(number) {
    for (let i = 1; i < Number(number)+1; i++){
        document.write(i + ' ');
    }
}   
var otherthing = prompt("");
thing(otherthing);
0 голосов
/ 27 сентября 2018

Попробуйте, что вы забыли разобрать его в целое число

function thing(number) {
            for (i = 1; i < number+1; i++){
                document.write(i + ' ');
            }
        }   
var otherthing = parseInt(prompt(""));
thing(otherthing);

В противном случае вы также можете использовать как это

function thing(number) {
            for (i = 1; i < number+1; i++){
                document.write(i + ' ');
            }
        }   
var otherthing = prompt("");
thing(+otherthing);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...