繁体   English   中英

Firebug的console.log使用javaScript输出意外值

[英]Firebug's console.log prints unexpected value using javaScript

我是javascript新手,正在使用简单的代码,但是当我在萤火虫中编写以下指定代码时,得到了意外的值。 这是代码

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

这是控制台中的输出

    var a=5; while(a<10000){   if(a%1000==0)     console.log(a);   a++; }
    1000
    2000
    3000
    4000
    5000
    6000
    7000
    8000
    9000
    9999

最后,它给了我“ 9999”,根据逻辑它不应该打印出来。
by , i received the exact output. 同时,我用替换了 ,我收到了准确的输出。
我觉得这很简单,但是我从未使用过萤火虫,所以我很想知道为什么会发生这种情况?

您的问题是Firebug始终会打印最后一条语句的返回值。 如果将声明更改为此:

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

您将得到null而不是9999 9999是最后a++的返回值。 仅当您在控制台中输入代码时,您才可以输入变量并将其打印出来。

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

9999是不是output ,但最后值a

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM