JavaScript每次评估的方式都不同

时间:2015-01-26 20:48:25

标签: javascript if-statement

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

我尝试在resize事件上返回windowdocument高度。基于它们的值,我尝试使用if / else语句执行以下操作(非常基本但它似乎不起作用,因此我记录了数据):

if 语句中,我在{strong> "TRUE [number one] >= [number two]" 语句中记录else,我记录了"FALSE [number one] >= [number two]"。这是在窗口调整大小事件上触发的。然后我水平调整窗口大小,因此高度值不会改变。有两个相同的数字我假设它总是记录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语句的行为有两个给定的相等值。我只想解释一下我是如何到达那里的。 - 消除拼写错误和将文本解释为另一种含义之间存在差异。

1 个答案:

答案 0 :(得分:0)

没有doctype标记,Chrome,Firefox和Safari会为两次调用报告相同的值。

<!DOCTYPE HTML>

添加严格的doctype会使值按照公布的方式工作。

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

相关问题