注册 登录
编程论坛 ASP技术论坛

第二页:个人关于return作用的小结,看看有无错误

yqiong 发布于 2007-08-30 23:25, 1571 次点击
1.
如果我定义了这样一个函数:
function VerifyDepart( )
{ if (document.reg_form.dname.value.length==0)
{ alert("单位名称不能为空!");
return false;
}
return true;
}
Onclick="VerifyDepart();return true" 那这里的return true是不是多余的?
书上这样写的:Onclick="return VerifyDepart();"
有些纳闷:函数中明明返回了布尔型,这地方为什么还要用return呢?

2.
请问:<body onLoad="setTimeout('close()',60000);return true">恭喜您,您答对了!</body>
这中间的return true有什么含义呀?

期待你的详细解答!

[此贴子已经被作者于2007-10-12 13:22:42编辑过]

10 回复
#2
yqiong2007-08-31 22:33

关于return有没有严格的规定呀?
我用的是吉根林出的《WEB程序设计》,书上没有详细解析return的用法

帮忙解决下!谢谢

#3
天涯听雨2007-08-31 22:40
1.
如果我定义了这样一个函数:
function VerifyDepart( )
{ if (document.reg_form.dname.value.length==0)
{ alert("单位名称不能为空!");
return false;
}
return true;
}
Onclick="VerifyDepart();return true" 那这里的return true是不是多余的?
书上这样写的:Onclick="return VerifyDepart();"
有些纳闷:函数中明明返回了布尔型,这地方为什么还要用return呢?


红色部份是多余的,因为定义的JS函数已经有值返回,而且这里再加上就多余
#4
yqiong2007-08-31 22:42
以下是引用天涯听雨在2007-8-31 22:40:40的发言:
1.
如果我定义了这样一个函数:
function VerifyDepart( )
{ if (document.reg_form.dname.value.length==0)
{ alert("单位名称不能为空!");
return false;
}
return true;
}
Onclick="VerifyDepart();return true" 那这里的return true是不是多余的?
书上这样写的:Onclick="return VerifyDepart();" 这个return不多余吗?
有些纳闷:函数中明明返回了布尔型,这地方为什么还要用return呢?


红色部份是多余的,因为定义的JS函数已经有值返回,而且这里再加上就多余

#5
multiple19022007-09-01 00:21

—谨慎选择问题版块—

小心选择提问的场合。别在“意见与建议”问“为什么我的电脑开不了机了”;也别在管理员或版主的固顶帖后面问“达人帮我看看这段代码有什么错误……”

#6
hehe3652007-09-01 09:26
多不多于调试一下就搞定,只是一个代码优化问题
#7
yqiong2007-10-10 12:15
以下是引用天涯听雨在2007-8-31 22:40:40的发言:
1.
如果我定义了这样一个函数:
function VerifyDepart( )
{ if (document.reg_form.dname.value.length==0)
{ alert("单位名称不能为空!");
return false;
}
return true;
}
Onclick="VerifyDepart();return true" 那这里的return true是不是多余的?
书上这样写的:Onclick="return VerifyDepart();"
有些纳闷:函数中明明返回了布尔型,这地方为什么还要用return呢?

还是不理解

#8
yqiong2007-10-10 12:30
调用:Onclick="return VerifyDepart();"
调用:Onclick="VerifyDepart();"
两者到底有什么区别呀?
都可以用来在客户端检查数据的合法性吧!

[此贴子已经被作者于2007-10-10 12:58:29编辑过]

#9
tianyu1232007-10-10 12:32

Onclick="return VerifyDepart();" 调用并返回值

Onclick="VerifyDepart();" 仅调用,不返回值
#10
yms1232007-10-10 12:39
return在js里除了返回其实还有break的作用比如在VBScript里终止某个函数内的代码继续执行则用Exit Function
比如
代码1
Function ChoiceA(Str)
IF Str="A" Then
ChoiceA=True
Exit Function
End IF
ChoiceA=False
End Function
IF ChoiceA("A") Then
Response.Write "is choice"
Else
Response.Write "not choice"
End IF
代码2
Function ChoiceA(Str)
IF Str="A" Then
ChoiceA=True
End IF
ChoiceA=False
End Function
IF ChoiceA("A") Then
Response.Write "is choice"
Else
Response.Write "not choice"
End IF
同样上面一段代码用js写
代码1
function ChoiceA(Str)
{
var reVal;
if(Str=="A")
{
reVal=true;
return reVal;
}
reVal=false;
return reVal;
}
if(ChoiceA("A"))
alert("is choice");
else
alert("not choice");
代码2
function ChoiceA(Str)
{
var reVal;
if(Str=="A")
{
reVal=true;
}
reVal=false;
return reVal;
}
if(ChoiceA("A"))
alert("is choice");
else
alert("not choice");

[此贴子已经被作者于2007-10-10 12:40:52编辑过]

#11
yqiong2007-10-11 12:23

Onclick="return VerifyDepart();"
Onclick="VerifyDepart();"
1.一般情况下,这两种无区别,都触发VerifyDepart(),返回true/false给事件名无意义,所以通常情况下不用return(单语句情况,但后面还有语句时另当别论)
2.应用在表单提交时,想在客户端检查数据合法性时,return就显得必不可少。因为表单默认提交,即return true;数据不合法要阻止提交到服务器时一定要用return返回false来。

我个人小结,有错误帮忙提提!

1