2014-02-20 65 views
0

我對你有個簡單的問題,現在整天都在困擾我。我有一個表達式,就像這樣我有2個變量,例如x和y。 x的值是7,我希望y總是大於x。如果輸入的數字小於x,它將提示一條消息。將表達式結果寫入錯誤

y.value > x.value 
alert("the number must be greater than X") 

問題是,當我輸入10,11,12和任何2位數大於7時,它顯示警告框。我想因爲你會首先輸入第一個數字,所以程序會讀取它。 任何人都可以幫助我這個邏輯謝謝

+0

你能否詳細說明你的代碼?向我們展示如何以及在哪裏採取x和y的價值觀? – Rohan

+0

我們可以有一個最小的工作例子嗎?你如何得到這個變量的價值? – dirluca

+0

你的'if'語句在哪裏? – Barmar

回答

1

您將需要檢查是否x.value和y.value設置爲字符串或數字。

字符串「12」小於「7」,而12號是大於7

如果是字符串,則可能需要將其轉換爲數字並加以比較。

'12' > '7' 
false 

12 > 7 
true 

// STRING comparison 
var x = { value: '7' }; 
var y = { value: '12'}; 
y.value > x.value; 
false 

// NUMBER comparison 
var x = { value: 7 }; 
var y = { value: 12 }; 
y.value > x.value; 
true 

// convert STRING to NUMBER and compare 
var x = { value: '7' }; 
var y = { value: '12' }; 
+y.value > +x.value; // conversion 
true