gpt4 book ai didi

javascript - 难倒: Javascript Comparison Error

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:23 28 4
gpt4 key购买 nike

我正在为 Javascript 编写一个绘图/图形库,遇到了一个看起来很严重的问题。

我有 4 个数字输入用于定义图形将显示的最小值和最大值,很像 TI-84 图形计算器:XMinXMax、< em>YMin, YMax.

<div id="window">
<input type="number" class="bound" id="minX" value="" />
<input type="number" class="bound" id="maxX" value="" />
<br />
<input type="number" class="bound" id="minY" value="" />
<input type="number" class="bound" id="maxY" value="" />
</div>

然后我有代码获取这些值并将它们放入函数 Plot.setBounds(xMin, xMax, yMin, yMax) 每当它们被修改时:

var plot1 = new Plot();
$('#window .bound').change(function() {
var minX = $('#window #minX').val(),
maxX = $('#window #maxX').val(),
minY = $('#window #minY').val(),
maxY = $('#window #maxY').val();
console.log('modified to:', minX, maxX, minY, maxY);
plot1.setBounds(minX, maxX, minY, maxY);
plot1.draw();
});

最后,对于 Plot.setBounds(xMin, xMax, yMin, yMax) 函数,我有:

Plot.prototype.setBounds = function (xMin, xMax, yMin, yMax) {
if ((xMin < xMax) && (yMin < yMax)) {
this.bounds = [[xMin, xMax], [yMin, yMax]];
} else {
console.error('Plot.setBounds(xMin, xMax, yMin, yMax) requires maximum values that are greater than the minimum values!');
console.log('received:', xMin, xMax, yMin, yMax);
}
return this;
};

然而,当 xMin >= 2 且 xMax >=10 时,问题就出现了,因为由于某种原因比较返回 false,控制台会抛出一个错误。您可以检查错误前后给出的数字(修改为收到),它们将具有相同的值。

另一个奇怪的事实是,当手动将相同数字的计算输入控制台时,比较结果如何返回 true。这让我相信它与函数的调用有关。

注意到问题仅在 xMin >= 2 和 xMax >= 10 时才会发生也很有趣。

我有一个预览,您可以在这里测试:http://dl.dropbox.com/u/962292/web/plot.js/static.html

如果您能为我的情况找到解决方案,我将不胜感激。

最佳答案

您有字符串并需要数字:

var minX = +$('#minX').val(),
maxX = +$('#maxX').val(),
minY = +$('#minY').val(),
maxY = +$('#maxY').val();

+ 是对数字的简单快速转换。并且 ID 对于 #window 是唯一的是无关紧要的。

例如,“9”>“19”;//真

关于javascript - 难倒: Javascript Comparison Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7642784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com