1

我目前正在使用 EJS 资源和 CodeAcademy 来尝试学习 Javascript,但是 Eloquent Javascript 中的大部分代码对我来说都无法正常运行,我觉得我目前没有从中学到很多东西,这令人沮丧,因为它是最好的资源之一。

var currentNumber = 0;
while (currentNumber <= 12)
  currentNumber = currentNumber + 2; 

上面的代码只打印出一个数字,我认为它应该在结束循环之前打印出许多数字。for i = blah blah I++ 版本有效,但 while 循环由于某种原因不起作用。

var result = 1;
var counter = 0;
while (counter < 10) {
  result = result * 2;
  counter = counter + 1;
}
show(result);

此代码也不起作用,并说“未定义显示”。这是因为我在 Firefox Web 控制台而不是 Web 版本的控制台中执行此操作吗?我目前正在使用 PDF 版本。谢谢你的帮助!

4

3 回答 3

0

首先,javascript中没有“show”命令。要将某些内容打印到 Web 控制台,请使用命令 console.log(),如下所示:

console.log(result);

其次,让我们考虑一下为什么您的代码没有多次打印出来?每次我们运行 while 循环时,正在执行什么代码块?是在该块中打印出当前值的语句吗?

于 2013-11-14T20:53:30.657 回答
0

是的,Eloquent JS 是一本交互式书籍,它有自己的运行 JS 的环境,所以在这个环境之外,一些功能将无法运行。就像“表演”不会运行。

在第二个示例中使用 console.log 而不是 show 。Console.log 类似于“show”,但会在 IE、Firefox、Chrome 控制台中运行。

在第一个示例中执行以下操作:

var currentNumber = 0;
while (currentNumber <= 12) {
  currentNumber = currentNumber + 2; 
  console.log(currentNumber);
}

这就是你如何用括号括起两个语句来运行这个 while 循环。第二条语句(“console.log”)将打印 currentNumber 的当前值。

于 2013-11-14T20:55:46.163 回答
0

这对我来说很好:

var currentNumber = 0;
while (currentNumber <= 12)
  console.log( currentNumber = currentNumber + 2 ); 

这表明:

2
4
6
8
10
12
14
于 2013-11-14T20:51:48.543 回答