2013-03-31 58 views
7

在嘗試調試時,我得到這條線的'length'null錯誤。它的寫法就像書中的指示,所以我不明白爲什麼它給了我錯誤? 謝謝,=)無法讀取null(javascript)的屬性「長度」

if (capital.length < 1) { 

(這裏是請求的全部代碼... SORRY)

<script type="text/javascript"> 
var capital = window.prompt("What is the capital of Missouri?","") 

if (capital.length < 1) { 
    document.getElementById("firstdiv").innerHTML="Sorry you don't feel like playing.<br /> The Capital of Missouri is Jefferson City."; 
} 
else { 
    if (!window.confirm("Is that your final answer?")){ return true; 

     document.getElementById("firstdiv").innerHTML = "The capital of Missouri is: <bold>" + capital + "</bold>, so says you."; 
    } 
    else{ 
     return false; 
    } 
} 
</script> 
+0

後完整的代碼,請 – frickskit

+1

什麼語言是什麼? JavaScript的? –

+0

因爲你從未設置過'大寫字母'。 – SLaks

回答

23

適當的測試是:

if (capital != null && capital.length < 1) { 

這確保了capital總是非空,當您執行長度檢查。

此外,正如評論建議,capitalnull,因爲你永遠不會初始化它。

+0

我很抱歉..是的,它是在JavaScript中 – JBSAMOM

+0

完成=)抱歉 – JBSAMOM

1

從您所提供的代碼,不知道你是語言編程。變量capital爲空。當您試圖讀取屬性長度時,系統不能正確地嘗試引用空變量。您需要定義capital

2
if (capital != null && capital != undefined && capital.length < 1) { 
//capital does exists 
} 
0

我嘗試這樣做:

if(capital !== null){ 
//Capital has something 
} 
相關問題