Значение условия автоматического обновления Javascript

#javascript

#javascript

Вопрос:

Давайте установим:

 i = 1;
condition = i < 2; // Users makes this condition, not me.
  

значение условия равно true;

Теперь небольшое изменение.

 i = 3;
  

И значение условия останется истинным;

Поскольку я «не знаю» условия, есть ли способ, которым я могу повторно проверить значение условия?

Мне нужно что-то, чтобы значение условия стало ложным сразу после установки i = 3; Что мне нужно сделать с переменной ‘condition’, чтобы сделать ее ложной, но помните: я не знаю «условия» (i < 2), потому что это сделают пользователи, а не я.

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

1. Не могли бы вы объяснить, о чем вы говорите? Я не уверен, в чем вопрос.

2. Ваш вопрос не имеет смысла.

3. Можете ли вы пояснить, что вы подразумеваете под «Пользователями, выполняющими это условие»? Указывается ли условие в строке? Как и все остальное, чтобы получить логическое условие в реальном времени, вы должны использовать функцию.

4. Этот вопрос имеет для меня смысл…

Ответ №1:

условие должно быть функцией, которая будет оцениваться каждый раз.

вы можете делать такие вещи, как :

 var i = 1;
var condition = function() { i < 2 };
if(condition()) {
   alert('ok');
}
i=3;
if(!condition()) {
   alert('ok');
}
  

Ответ №2:

Вам просто нужно переоценить и переназначить переменную условия. Я бы сделал это так:

 function evaluate(i, condition){
    evaluation = i < condition;
    return evaluation;
}
i=3;
condition = 2;
conditionMet = evaluate(i, condition);
  

Теперь, каждый раз, когда вы хотите выполнить повторную оценку, вы просто вызываете evaluate() .

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

1. Пользователь устанавливает условие, а не я.