我是JS的初学者。我对console.log()略有了解。据我所知,我们使用console.log()打印一些东西。我在这里遇到了一个代码问题,但无法获取it.the问题如下所示
var understand = true;
while( understand )
{
console.log("I'm learning while loops!");
understand = false;
}我只使用了一次console.log(),但这里显示了两个输出:
1. I'm learning while loops!
2. false我的问题是为什么它打印false。我没有使用任何语句来打印false,那么它是如何显示的,为什么..?请求帮助我解决这个问题。谢谢
发布于 2013-06-28 16:37:24
我假设你真的是在控制台中尝试该代码?如果是这样的话,您会注意到,当您输入单个语句时,控制台将打印该表达式计算出的任何值。
understand = false设置该变量的值并计算为false。
我进一步假设您已经一次将所有这些内容输入到控制台中,在这种情况下,控制台将显示任何console.log()语句的结果(当然)以及代码块中最后一条语句的值。请注意,如果您对其进行更改,使最后执行的行执行其他操作,则您将获得false输出以外的其他输出。例如,以下内容:
var understand = true;
while( understand )
{
console.log("I'm learning while loops!");
understand = false;
}
var x = 1;...outputs:
I'm learning while loops!
undefined...because如果将var x = 1;语句作为表达式,则该语句为undefined。
发布于 2013-06-28 16:37:20
当您在控制台中运行此代码时,它可能会输出false。JS控制台通常会输出赋值语句的值,如understand = false,控制台中的赋值语句后面会跟着false。
一旦您从脚本文件运行此代码,它将不会记录false
发布于 2013-06-28 16:36:43
nnnnnn的答案应该接近于事实,但我已经尝试过在你的代码末尾添加var x = true,它仍然给出了在Chrome上打印的false。
相反,如果您在它后面加上x = true (没有var),它将输出true,所以我认为这也与变量的作用域有关。但我不确定。我认为这个问题值得讨论,而不是投票否决。
https://stackoverflow.com/questions/17360512
复制相似问题