如何检查变量是否已更改以及是否存储更大的变量

时间:2016-05-02 10:24:52

标签: javascript compare max setinterval

我正在使用分配给变量 measured_altitude 的设备的当前高度(每500毫秒更新一次),我想保持最大值。达到的价值。它应该是一个简单的新值>旧的最大值然后新值=最大值。但它似乎没有用。与特定值进行比较时,它可以工作:

e.g。

setInterval(function () {
    console.log("measured: " + measured_altitude);
    maxH = 50;
    if (measured_altitude > maxH) {
        console.log("new max");
        $("#max-height-value").text(measured_altitude);
        };

}, 1000);

但是当我试图与身高进行比较时却没有。

绝对是一个愚蠢的问题,但我抓了一个多小时。

1 个答案:

答案 0 :(得分:2)

除非我误解了您的目标,否则您需要在maxH内将新高度指定为if,并将初始声明移至setInterval之外:

var maxH = 50; /* initial value (outside setInterval) */

setInterval(function () {
    console.log("measured: " + measured_altitude);

    if (measured_altitude > maxH) {
        maxH = measured_altitude; /* update if new value is larger */
        console.log("new max");
        $("#max-height-value").text(measured_altitude);
        };

}, 1000);