2013-03-31 9 views
7

Trong khi cố gắng gỡ lỗi, tôi nhận được lỗi null 'length' với dòng này. Nó được viết giống như sách hướng dẫn, vì vậy tôi không hiểu tại sao nó lại cho tôi lỗi? Cảm ơn, =)Không thể đọc thuộc tính 'length' của null (javascript)

if (capital.length < 1) { 

(đây là đoạn code đầy đủ theo yêu cầu .. 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

bài đầy đủ đang xin – frickskit

+1

Ngôn ngữ nào là điều này? JavaScript? –

+0

Bởi vì bạn không bao giờ đặt 'vốn'. – SLaks

Trả lời

23

Các thử nghiệm thích hợp là:

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

này đảm bảo rằng capitalluôn không null, khi bạn thực hiện việc kiểm tra chiều dài.

Ngoài ra, như các nhận xét đề xuất, capitalnull vì bạn chưa bao giờ khởi tạo.

+0

Tôi rất xin lỗi .. Có trong JavaScript – JBSAMOM

+0

Xong =) xin lỗi về điều đó – JBSAMOM

1

Từ mã mà bạn đã cung cấp, không biết ngôn ngữ mà bạn đang lập trình in. Biến số capital là null. Khi bạn đang cố gắng đọc độ dài thuộc tính, hệ thống không thể vì nó đang cố gắng để suy ra một biến null. Bạn cần xác định capital.

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

Tôi cố gắng này:

if(capital !== null){ 
//Capital has something 
}