Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   логический оператор "?" (https://javascript.ru/forum/css-html/73623-logicheskijj-operator.html)

ArtyomZaitsev 30.04.2018 15:13

логический оператор "?"
 
Добрый день, не могу понять почему это не работает... если у нас newI равно нулю пишем на кнопке "0". Если у нас newI больше 2, то пишем на кнопке значение переменной "a". В промежуточных случаях записать единицу. Но почему скрипт просто не хочет заходить в блок "newI > 2" и всегда выдает единицу на кнопке. Консоль лог выдает, что newI инкременируется как надо.

arr = document.getElementsByTagName('button')
    function func(){
      let i = 1
      return function() {
        let newI = i
        let q = 0
        let w = 1
        let a
        while (newI > 2){
          a = q + w
          q = w
          w = a
          newI--
        }
        newI == 0 ? this.innerHTML = 0 : newI > 2 ? this.innerHTML = a : this.innerHTML = 1
        return i++
      }
    }


    for (let a of arr) {
      a.innerHTML = 0
      a.addEventListener('click', func())
    }

ruslan_mart 30.04.2018 17:06

this.innerHTML = newI === 0 ? 0 : newI > 2 ? a : 1;


Часовой пояс GMT +3, время: 14:54.