Узнайте, если значение больше или меньше, чем предыдущее значение Javascript - PullRequest
1 голос
/ 19 июня 2011

Как видно из заголовка, я изо всех сил пытаюсь выяснить, больше или меньше значение предыдущего javascript значения.

Допустим, я посылаю переменную в метод с приращениями или приращениями.

Пример 1:

value(3);

Пример 2:

value(2);

Пример 3:

value(4);

И метод ...

function value(id){


}

Поэтому, когда я получаю значения от «отправителя», я хочу определить, больше или меньше это значение, чем другое значение в моем методе.Первое значение равно 3. Второе значение равно 2 - Это может привести к тому, что первое значение будет больше, чем новое входное значение 2, и так далее ...

Есть идеи?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 20 июня 2011

Вы можете использовать замыкание вокруг своей функции:

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 голосов
/ 20 июня 2011

Объявите переменную вне функции и обновляйте ее последним значением каждый раз, когда вызывается функция.

Затем просто сравните параметр с текущим значением в этой переменной, чтобы определить, больше он или меньше:

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