| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1633 人关注过本帖
标题:请教一个Prompt 返回值的问题? 谢谢
只看楼主 加入收藏
teapost
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-25
收藏
 问题点数:0 回复次数:3 
请教一个Prompt 返回值的问题? 谢谢
今天做题,有个问题不清楚:
====================代码======================

<html>
<head>
<script language="JavaScript">
function jihua()   //定义函数 jihua()
{
   var a=prompt("请输入今天星期几","1");
   
   if(a>="1"&&a<="7")
   {
     if(a=="1")
         document.write("今天做第一章的作业\n");
     if(a=="2")
         document.write("今天做第二章的作业\n");
     if(a=="3")
        document.write("今天做第三章的作业\n");
     if(a=="4")
        document.write("今天做第四章的作业\n");
     if(a=="5")
         document.write("今天做第五章的作业\n");
     if(a=="6")
        document.write("今天做第六章的作业\n");
     if(a=="7")
        document.write("今天做第七章的作业\n");
   }
   else
     document.write("您的输入有误");
}
</script>
</head>
<body>
  <input name="zuoyeanpai" type="button" onClick="jihua()" value="查看计划">
</body>
</html>
====================代码===========================
这里想请教大家, 我输入 1-7 没有问题,但是输入 8或9 就会提示 你输入有误,但是一旦输入10或10以上的数字 就不会提示错误, 我 后来添加  a=parseInt(a); 就正常了,请问前面的问题是怎么回事啊~~? 谢谢
搜索更多相关主题的帖子: Prompt 返回值 document write 
2008-04-25 17:07
kingyar
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-4-26
收藏
得分:0 
prompt返回的是字符串,如果在prompt中输入了:10,返回的是字符串:"10".
这是代码运行到: if(a>="1"&&a<="7"),此时实际上是比较:
"10" > "1" && "10" <= "7"
当两个字符串比较时,是一个字符一个字符比较的,在这里就是:

首先比较"10"和"1":
1. "1" == "1"
2. "0" > ""
结果就是: "10" > "1" == true

然后比较"10" 和 "7":
1. "1" < "7"
结果就是: "10" < "7" == true

所以:a>="1"&&a<="7" 的结果就是true,就开始执行if块中的代码,而不会执行eles分支中的代码。

一句话,字符串的大小比较与数字的大小比较是不一样的。
2008-04-26 18:30
heyufu
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2007-7-26
收藏
得分:0 
prompt返回的是字符串

2008-04-26 23:11
快速回复:请教一个Prompt 返回值的问题? 谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016404 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved