как получить значение параметра из глобальной переменной?

#javascript #for-loop #variables #error-handling #parameters

Вопрос:

Если я попытаюсь создать цикл for внутри функции, я не смогу использовать глобальную переменную в качестве условия цикла. Если я использую параметр, я не могу получить значение параметра из глобальной переменной.

это пример кода моего вопроса:

 let a = document.getElementById("number");

function print() {
    for (let i = 0; i < a; i  ) {
        alert("hello world");
    }
}
 

Здесь я использовал переменную в качестве условия цикла, но она не работает.
поэтому я задал параметр функции следующим образом:

 function print(c) {
    for (let i = 0; i < c; i  ) {
        alert("hello world");
    }
}
 

Это работает, но я не могу получить значение от пользователя, я не могу перенести значение из переменной a в параметр c .

Итак, скажите мне, как передать значение? И почему я не могу использовать переменную в цикле for?

Комментарии:

1. document.getElementById("number") это не число. Ты имел в виду document.getElementById("number").valueAsNumber или Number(document.getElementById("number").value) ?

2. getElementById получает элемент , в котором это id есть … Вам нужно извлечь значение элемента.

Ответ №1:

не могли бы вы уточнить, что возвращает document.getElementById(«номер»)? и если вы попытаетесь напрямую указать значение переменной, это будет работать нормально

 let a = 2

function print() {
    for (let i = 0; i < a; i  ) {
        alert("hello world");
    }
}

print()
 

Комментарии:

1. » что возвращает document.getElementById(«число») » некоторый элемент DOM. Совершенно определенно не значение (или текст внутри) этого элемента DOM.

2. ну, это, очевидно, кажется неправильным. должно быть какое-то attr(‘id’) или sth

3. или что — то в этом роде-да. Однако код OP просто берет весь элемент целиком.