2015-01-26 31 views
1

当我今天早上回来工作时,我可以在重新启动服务器后重新加载并查看奇怪的行为。我无法重新创建它。所以这个问题是“解决的”,随意删除它,我不确定是否允许我这样做。JavaScript每次都会有不同的评估

我尝试在resize事件中返回 windowdocument高度。根据他们的价值观,我尝试做使用if/else语句下面的(很基本的,但它似乎没有工作,所以我记录的数据):

里面我登录"TRUE [number one] >= [number two]"if声明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语句的行为。我只是试图解释我是如何到达那里的。 - 消除拼写错误和将文本解释为其他含义是有区别的。

+11

您可以包含运行此检查的代码吗?我怀疑实施过程中会有一些细节可以阐明这个问题。 – ssube 2015-01-26 20:49:51

+0

我在办公室编写了代码,现在我在家里,无法看到它。我明天将复制并粘贴它。它就像a = $(window).height(),b = $(document).height(),然后:if(a> = b)记录TRUE否则记录FALSE。这一切都非常简单,基本,并带有花括号和分号。我认为这并不重要,因为输出正如我上面所写的,主要问题是:为什么(548> = 548)是错误的? :) – StackBerlin 2015-01-26 21:01:27

回答

0

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

<!DOCTYPE HTML> 

添加一个严格的doctype导致所标榜的价值观工作。

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