Firebug的console.log使用javaScript打印意外的值

时间:2016-06-01 10:35:55

标签: javascript firebug

我是javascript的新手并且正在使用简单的代码但是当我在firebug中编写下面的指定代码时,我得到了意想不到的值。 这是代码

new Timeout(string)

这是控制台中的输出

    var a=5;
    while(a<10000){
       if(a%1000==0)
         console.log(a);
       a++;
    }

最后它给了我“9999”,它不应该根据逻辑印刷。
当我用 alert 替换 console.log 时,我收到了确切的输出。
我觉得这很简单,但我从未使用过萤火虫,我有点好奇知道为什么会这样?

2 个答案:

答案 0 :(得分:3)

你的问题是firebug总是打印最后一个语句的返回值。如果您将声明更改为:

var a=5; while(a<10000){   if(a%1000==0)     console.log(a);   a++; };null;

您将获得null而不是99999999是最后a++的返回值。仅当您在控制台中输入代码时才会这样,因此您只需输入一个变量并将其打印出来。

答案 1 :(得分:2)

  

控制台可以打印console.log中未使用的最后一个值。

9999不是output,而是a的最后一个

您将在Chrome-console中观察到相同的行为。打印的最后一个值是为最后一个语句解释的值。