2013-11-14 41 views
1

我目前正在使用EJA資源和CodeAcademy一起嘗試和學習Javascript,但是大多數在Eloquent Javascript中的代碼將無法正常運行,我覺得我現在沒有從中學到很多東西令人沮喪,因爲它意味着最好的資源之一。一些雄辯的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); 

此代碼也不起作用,並表示'show is not defined'。這是因爲我在Firefox Web控制檯而不是Web版本中的控制檯中執行它?我目前正在使用PDF版本。謝謝你的幫助!

+0

'show'是什麼? – tymeJV

+1

它告訴你正確的東西,節目沒有定義..... –

+0

至於'show()',是的,它不工作,因爲你使用的是Web控制檯而不是他們已經擁有的東西頁。 'show()'是該頁面上的一個函數,它將結果放在一個字段中(或者我不記得)。一個解決方案就是使用'console.log'而不是'show'。 – iamnotmaynard

回答

0

能正常工作對我來說:

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

表示:

2 
4 
6 
8 
10 
12 
14 
+0

嘗試'console.log(currentNumber + = 2)' – randunel

+0

@randunel:是的,這工作,但我想孤立的問題沒有混淆的問題... – dandavis

+0

我想你的意思_compounding _... :) – Andy

0

首先,有在JavaScript沒有命令 「秀」。要得到的東西打印到Web控制檯,用命令的console.log()像這樣:

console.log(result); 

其次,讓我們想想爲什麼你的代碼是不是打印出多次?每次我們運行while循環時都會執行哪些代碼塊?該語句是否打印出該塊內的當前值?

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); 
} 

這就是你附上兩個語句withing支架與這個while循環運行。第二條語句(「console.log」)將打印currentNumber的當前值。