2011-06-19 45 views
1

正如標題所示,我正在努力研究如何確定值是大於還是小於以前的值javascript。找出值是大於還是小於之前的值Javascript

可以說我正在發送一個變量給一個帶有增量或減量的方法。

練習1:

value(3); 

練習2:

value(2); 

實例3:

value(4); 

而且方法...

function value(id){ 


} 

因此,當我從「發件人」獲取值時,我想確定該值是大於還是小於我的方法中的其他值。第一個值是3.第二個值是2 - 這會導致第一個值大於新的輸入值2,依此類推...

任何想法?

謝謝!

回答

6

你可以使用一個封閉包圍你的函數:

var value = (function() { 
    var previousValue = null; 
    return function(id) { 
    if (previousValue !== null && previousValue > id) 
     alert("You sent me something smaller than last time!"); 
    previousValue = id; 
    }; 
})(); 

這樣做的優點是隻有「value()」函數才能「看到」保存的「previousValue」 - 其他代碼不能更改該值。它基本上就像一個匿名對象的私有屬性,由該聲明中的函數調用隱式創建。

+0

感謝您的快速答案!那麼這將是我的新功能?電話將如何?仍然是「價值(2)」「價值(3)」等? – Tobias

+0

現在工作了!謝謝你的幫助! :=) – Tobias

+0

對不起,我不得不跑到雜貨店:-)很高興它的作品! (你現在知道的問題的答案是「是」,你稱之爲「值(3)」等)。 – Pointy

0

在該函數之外聲明一個變量,並在每次調用該函數時使用最新值更新該變量。

然後簡單地比較與該變量的當前值的參數,以確定它是否是更大或更小:

var current = 0; 
function value(id) { 
    //compare id with current 
    current = id; 
} 
+0

感謝您的快速回答!那就是我試圖做的,但我的「當前」ID是相同的ID,所以我不能比較它們... – Tobias

相關問題