正如标题所说,我正在努力研究如何找出一个值是否大于或小于之前的值javascript。
假设我正在向一个增量或减量的方法发送一个变量。
Ex1:
value(3);
Ex2:
value(2);
实例3:
value(4);
方法......
function value(id){
}
因此,当我从“发件人”获取值时,我想确定该值是大于还是小于我方法中的其他值。第一个值是3.第二个值是2 - 这将导致第一个值大于新的输入值2,依此类推......
有什么想法吗?
谢谢!
答案 0 :(得分: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” - 其他代码无法更改该值。它本质上类似于在该声明中进行的函数调用隐式创建的匿名对象的私有属性。
答案 1 :(得分:0)
在函数外部声明一个变量,并在每次调用函数时使用最新值更新该变量。
然后简单地将参数与该变量中的当前值进行比较,以确定它是更大还是更小:
var current = 0;
function value(id) {
//compare id with current
current = id;
}