我们设置:
i = 1;
condition = i < 2; // Users makes this condition, not me.
条件值 true ;
现在有点变化。
i = 3;
条件值将保持 true ;
由于我“不知道”条件,有没有办法可以重新检查条件的值?
设置i = 3后,我需要一些东西让条件值变为 false ; 我必须对变量'condition'做什么才能使它 false ,但请记住:我不知道“条件”(i&lt; 2),因为用户会成功,而不是我
答案 0 :(得分:3)
条件必须是每次都要评估的函数。
你可以做以下事情:
var i = 1;
var condition = function() { i < 2 };
if(condition()) {
alert('ok');
}
i=3;
if(!condition()) {
alert('ok');
}
答案 1 :(得分:1)
您只需要重新评估并重新设置条件变量。我会这样做:
function evaluate(i, condition){
evaluation = i < condition;
return evaluation;
}
i=3;
condition = 2;
conditionMet = evaluate(i, condition);
现在,每次要重新评估时,只需拨打evaluate()
。