懂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)

...全文
199 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
我猜应该是出错了。不知道猜得对不对?:)
  • 打赏
  • 举报
回复
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2006-02-23 11:38
社区公告
暂无公告