Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2018, 14:23
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Правильно ли написаны два условия if где число больше числа?
Добрый день. Допустим есть два условия которые сравнивают цифры 3 и 6 :
<div id="number"></div>
<br>
<div id="setting"></div>
<script type="text/javascript">
var i = 0;
var setting1 = 3;
var setting2 = 6;
function test (){
      i++;
      document.getElementById('setting').innerHTML = i;
      
      if(i >= setting1){
             document.getElementById('number').innerHTML = setting1;
      }

      if(i >= setting2){
             document.getElementById('number').innerHTML = setting2;
      }

      setTimeout(function() {
            test ();	
      }, 1000);
}
test();

</script>


В данном примере сначала сравнивается число больше 3, потом идет 2ое условие где число больше 6.
В том время как i >= 6 оба условие верны, потому что i так же больше 3.
То что я написал выше верно? или нужно переписать первое условие, относительно второго, когда оно больше шести?

p.s. на практике setting1, setting2 и тд. это неизвестные изначально переменные.

Я это вообще к чему, есть другая функция которая пересчитывает блок number, и нельзя чтобы там хоть на долю секунды появлялось число из первого условия в данном случае 3, если i >=6.

Последний раз редактировалось Artur_Hopf, 13.09.2018 в 14:35.
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2018, 15:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Два раза менять innerHTML точно не нужно
if(i >= setting1 && i < setting2) //первое условие
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2018, 15:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

if(i >= setting2){
	document.getElementById('number').innerHTML = setting2;
}
else if(i >= setting1){
	document.getElementById('number').innerHTML = setting1;
}


а лучше вообще вот так

когда выполнится первое условие, второе вообще не будет проверяться
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2018, 16:35
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

j0hnik,
Спасибо большое
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прибавить два числа, заключенных в строках, в экспоненциальной форме andreloster Общие вопросы Javascript 1 21.02.2015 02:25
число 76.4705882.. сделать 76.47? (числа всегда разные) TongaG Ваши сайты и скрипты 3 19.01.2010 07:35