尝试调试时,我遇到此行的'length'null错误。它写的就像书中指示的那样,所以我不明白为什么它会给我错误? 谢谢,=)
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 :(得分:41)
正确的测试是:
if (capital != null && capital.length < 1) {
当您执行长度检查时,这可确保capital
总是非空。
此外,正如评论所示,capital
是null
,因为您从未对其进行初始化。
答案 1 :(得分:2)
if (capital.touched && capital != undefined && capital.length < 1 ) {
//capital does exists
}
答案 2 :(得分:1)
从您提供的代码中,不知道您正在编程的语言。变量capital
为空。当您尝试读取属性长度时,系统无法正在尝试使用null变量。您需要定义capital
。
答案 3 :(得分:0)
我试过了:
if(capital !== null){
//Capital has something
}
答案 4 :(得分:0)
这也适用-评估(如果定义了资本)。如果不是,则表示该资本是不确定的或为null(或其他值,在js中为false)
if (capital && capital.length < 1) {do your stuff}