首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出在javascript中显示时没有语句

问输出在javascript中显示时没有语句
EN

Stack Overflow用户
提问于 2013-06-28 16:33:46
回答 4查看 103关注 0票数 0

我是JS的初学者。我对console.log()略有了解。据我所知,我们使用console.log()打印一些东西。我在这里遇到了一个代码问题,但无法获取it.the问题如下所示

代码语言:javascript
复制
   var understand = true;
   while( understand )
    {
      console.log("I'm learning while loops!");
      understand = false;
    }

我只使用了一次console.log(),但这里显示了两个输出:

代码语言:javascript
复制
1. I'm learning while loops!
2. false

我的问题是为什么它打印false。我没有使用任何语句来打印false,那么它是如何显示的,为什么..?请求帮助我解决这个问题。谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-28 16:37:24

我假设你真的是在控制台中尝试该代码?如果是这样的话,您会注意到,当您输入单个语句时,控制台将打印该表达式计算出的任何值。

understand = false设置该变量的值并计算为false。

我进一步假设您已经一次将所有这些内容输入到控制台中,在这种情况下,控制台将显示任何console.log()语句的结果(当然)以及代码块中最后一条语句的值。请注意,如果您对其进行更改,使最后执行的行执行其他操作,则您将获得false输出以外的其他输出。例如,以下内容:

代码语言:javascript
复制
var understand = true;
while( understand )
{
   console.log("I'm learning while loops!");
   understand = false;
}
var x = 1;

...outputs:

代码语言:javascript
复制
I'm learning while loops!
undefined

...because如果将var x = 1;语句作为表达式,则该语句为undefined。

票数 4
EN

Stack Overflow用户

发布于 2013-06-28 16:37:20

当您在控制台中运行此代码时,它可能会输出false。JS控制台通常会输出赋值语句的值,如understand = false,控制台中的赋值语句后面会跟着false。

一旦您从脚本文件运行此代码,它将不会记录false

票数 1
EN

Stack Overflow用户

发布于 2013-06-28 16:36:43

nnnnnn的答案应该接近于事实,但我已经尝试过在你的代码末尾添加var x = true,它仍然给出了在Chrome上打印的false。

相反,如果您在它后面加上x = true (没有var),它将输出true,所以我认为这也与变量的作用域有关。但我不确定。我认为这个问题值得讨论,而不是投票否决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17360512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档