2011-11-10 93 views
0

讓我們設置:的Javascript自動更新狀態值

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

的狀態值處於;

現在有點變化。

i = 3; 

而且條件值將保持真正;

由於我「不知道」條件,有沒有辦法我可以重新檢查條件的價值?

我需要一些條件值成爲false設置i = 3之後; 我與變量'條件'有什麼關係,使它,但請記住:我不知道「條件」(我< 2),因爲用戶將它,而不是我。

+1

你能解釋一下你在說什麼嗎?我不確定問題是什麼。 – Blender

+0

你的問題沒有意義。 – zellio

+1

你能澄清你的意思是「用戶提出這個條件」嗎?條件是在字符串中指定的嗎?像其他任何事情一樣,爲了獲得實時的邏輯條件,你應該使用一個函數。 –

回答

3

條件必須是每次評估的函數。

,你可以做這樣的事情:

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

完美,工作。謝謝 – BernaMariano

1

你只需要重新評估和reasign條件變量。我會做這樣的:現在

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

,要重估一切的時候,你只需要調用evaluate()

+0

用戶提出條件,而不是我。 – BernaMariano