2012-02-20 15 views
0

我上一個Javascript鍛鍊 [1]工作。以下是我寫的。我想,我是對的。但它顯然是有缺陷的。我不知道哪裏出了問題。你有看到?的Javascript:Codeacademy:失落的數字

我試着調試。我該如何調試?你有沒有看到任何錯誤?

var lost = [4, 8, 15, 16, 23, 42]; 

var isLost = function (n) { 
    for (var i=0; i++; i <lost.length) { 
    if (n === lost[i]) { 
     return false; 
    } 
    } 
    return true; 
}; 


var ret = isLost(12); 
if (ret === true) { 
    console.log('12 is a lost number'); 
} 

var ret = isLost(16); 
if (ret === true) { 
    console.log('16 is a lost number'); 
} 

回答

3

您得到了for標題錯誤。應該是:

for (var i = 0; i < lost.length; i++) 
+0

+1 WEW!拍我,我就是這樣的小飛象。但仍然讓我這個。不知道什麼是錯的。 '12是丟失的號碼 16沒有丟失號碼 糟糕,請再試一次。「# – 2012-02-20 02:18:44

+1

@GP您得到的返回語句顛倒了。在'if'語句中,它應該是'return true',並且在函數結尾應該是'return false' ... – 2012-02-20 02:40:33

+0

謝謝,Šime。這有幫助! – 2012-02-20 02:46:43

2

我試着調試。我該如何調試?

使用FireBug或Chrome中的調試器。調試可能是在任何平臺上,所以花一些時間來學習這是你做的第一件事情之一,最重要的技能。

+0

+1謝謝!我使用了alert,然後是console.log。我仍然需要習慣Firebug。會做。謝謝! – 2012-02-20 02:44:11

-1
var lost = [4, 8, 15, 16, 23, 42]; 
var count = lost.length; 

var isLost = function (n) { 
for (var i = 0; i < lost.length; i++) { 
    if (n === lost[i]) { 
     return true; 
    } 
    } 
    return false ; 
}; 

if (isLost(12)) { 
    console.log('12 is a lost number'); 
} 

if (isLost(16)) { 
    console.log('16 is a lost number'); 
}