JavaScript 每次的评估都不同

JavaScript evaluates differently every time

本文关键字:评估 JavaScript      更新时间:2023-09-26

当我今天早上回到工作岗位时,我可以重新加载并看到奇怪的行为,重新启动服务器后它就消失了。我无法重新创建它。所以问题已经"解决"了,请随意删除它,我不确定我是否被允许这样做。

我尝试在调整大小事件中返回windowdocument高度。根据它们的值,我尝试使用 if/else 语句执行以下操作(非常基本,但它似乎不起作用,所以我记录了数据):

在我记录if语句中"TRUE [number one] >= [number two]"在我记录"FALSE [number one] >= [number two]"else语句中。这是在窗口调整大小事件上触发的。然后,我水平调整窗口大小,因此高度值不会更改。对于两个相同的数字,我假设它始终记录 TRUE 部分,但输出是:

[...]
TRUE 548 >= 548
FALSE 548 >= 548
TRUE 548 >= 548
FALSE 548 >= 548
TRUE 548 >= 548
FALSE 548 >= 548
TRUE 548 >= 548
FALSE 548 >= 548
[...]

值的类型始终为"数字",它始终是整数,没有浮点数。我还在IE9和FF35中"测试"。

有人可以解释一下发生了什么吗?如何避免此行为?

谢谢!

编辑

:我原来的问题被编辑了。提高我的英语水平是可以的(我仍在学习语言),但现在的问题是一个不同的问题,正如您在第一个答案中看到的那样。我没有问如何获得元素的高度(所以"我试图返回......"不是我的意图),我的问题是关于两个给定相等值的 if 语句的行为。我只是试图解释我是如何到达那里的。– 消除拼写错误和将文本解释为另一种含义之间存在差异。

没有文档类型标签的Chrome,Firefox和Safari会为两次调用报告相同的值。

<!DOCTYPE HTML>

添加严格的文档类型会导致值按广告形式工作。

这在几个浏览器中很可能是相同的。