我正在获取分配给变量 measured_altitude 的设备当前海拔高度(每 500 毫秒更新一次),并且我想保留最大值。这已经达到的值。如果新值 > 旧最大值,则新值 = 最大值,这应该是一个简单的问题。但这似乎不起作用。当与特定值进行比较时,它有效:
例如
setInterval(function () {
console.log("measured: " + measured_altitude);
maxH = 50;
if (measured_altitude > maxH) {
console.log("new max");
$("#max-height-value").text(measured_altitude);
};
}, 1000);
但当我尝试与高度进行比较时,情况并非如此。
这绝对是一个愚蠢的问题,但我已经挠了一个多小时了。
最佳答案
除非我误解了你的目标,否则你需要将新高度分配给 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);
关于javascript - 如何检查变量是否已更改以及它是否大于存储它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36980175/