【问题标题】:javascript unary issue firebugjavascript 一元问题萤火虫
【发布时间】:2012-03-27 02:45:08
【问题描述】:

我在 Win 7 最新版本 Firefox 11 上的 FireBug 控制台中输入以下代码:

var age = 26;

while ( age < 37 ) {
    console.log("You can join!");
    console.log(age);
    age++;
}

它会吐出我要查找的内容,但最后会打印一个额外的“36”。我不明白为什么。 这是我想要做的: 1. 检查此人是否未满 37 岁(不能超过 37 岁)。 2.如果符合要求,则应打印“您可以加入!” 就是这样。为什么最后会吐出额外的 36?

我刚开始学习 JavaScript,这个 sn-p 并没有用于任何用途,我只是为了好玩而将代码插入 FireBug。

我也是 stackoverflow 的新手。感谢您的支持。

【问题讨论】:

  • 我不知道你为什么不希望它打印36...
  • 查看this question 了解一些相关信息。在某些情况下会发生某种不可用的返回值。基本上你可以忽略它。最终迭代不会发生两次。
  • @PeterOlson:我认为关键词是“extra”。控制台中会出现两次36

标签: javascript loops while-loop firebug


【解决方案1】:

这就是它的正常行为方式。默认情况下,Firebug 显示最后一条语句的值。

var age = 9;
var temp = 10;

age++;
age < temp;

您可以在控制台中看到false。我想这是因为萤火虫使用eval。以下语句也返回相同的结果。

eval("var age = 9;var temp = 10;age++;age < temp;");

【讨论】:

  • Firebug 不小心打印了最后一条语句的值?所以不是我的代码让它打印出额外的 36 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多