懂javascript的来看看

ahalf 2006-02-23 11:38:14
懂javascript的来看看:

1.下面的程序有什么问题?
function CheckInt(value,note,lower_limit,upper_limit)
{
var intValue=0;

if ( value=="" )
{
return note+"不能为空!!\n";
}
else
{
if ( isNaN(parseInt(value)) )
{
return note+"必须为整数!!\n"
}
else
{
intValue=parseInt(value);
if ( lower_limit!="" && intValue<lower_limit ) return note+"不能小于"+lower_limit+"\n";
if ( upper_limit!="" && value>upper_limit) return note+"不能大于"+upper_limit+"\n";
if (0<-2 ) alert("skldsaklfcjlak");
return "OK";
}
}
}

2.这样调用的结果是什么?
CheckInt(-5,"abcd",0,100)

...全文
260 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alfahah 2006-02-24
  • 打赏
  • 举报
回复
lower_limit!=null
upper_limit!=null
ahalf 2006-02-24
  • 打赏
  • 举报
回复
难道就没人能帮忙看看,并调试一下吗?
woxiangwalkman 2006-02-24
  • 打赏
  • 举报
回复
是 0==="" 或 0!==""
不好意思,写错了
woxiangwalkman 2006-02-24
  • 打赏
  • 举报
回复
代码其实没什么大问题,你是如何调用的?直接写 CheckInt(-5,"abcd",0,100) 这样调用的话就会出问题,可以向楼上一样改
function CheckInt(value,note,lower_limit,upper_limit)
{
var intValue=0;

if ( value==null )
{
return note+"不能为空!!\n";
}
else
{
if ( isNaN(parseInt(value)) )
{
return note+"必须为整数!!\n"
}
else
{
intValue=parseInt(value);
if ( lower_limit!=null && intValue<lower_limit ) return note+"不能小于"+lower_limit+"\n";
if ( upper_limit!=null && value>upper_limit) return note+"不能大于"+upper_limit+"\n";
if (0<-2 ) alert("skldsaklfcjlak");
return "OK";
}
}
}

或者这么调用 CheckInt("-5","abcd","0","100")

因为 0=="" 或者 0!="" 都会返回false,这是js的自动类型转换的bug,最正确的写法是
0==="" 或 0!===""
netstu 2006-02-24
  • 打赏
  • 举报
回复
return ok;
treeroot 2006-02-23
  • 打赏
  • 举报
回复
有什么好看的
doway 2006-02-23
  • 打赏
  • 举报
回复
我猜应该是出错了。不知道猜得对不对?:)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧