汨罗10月20日铜价:javascript函数中返回true和flase有什么区别?

来源:百度文库 编辑:高考问答 时间:2024/05/04 13:56:33
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>

<script language="javascript">

function nameSelect()
{
if(isBlank(""+document.contest.last.value)) //当last里面内容为空时候 //isBlank为判断是否为空
{
document.contest.last.value="Surname" //设置last的数值为Surname
document.contest.last.focus() //并且当前焦点指向该字段
document.contest.last.select() //且当先字段文本为选中状态
}
}

function isBlank(s) //自己写的方法,判断是否输入框内容是否为空
{
var len = s.length
var i
for(i=0;i<len;++i)
{
if(s.charAt(i)!="") return false
}
return true
}

function validate(fieldName,fieldValue) //接受validateEmail参数
{
if(isBlank(fieldValue)) //判断值是否唯恐
{
alert(fieldValue+" cannot be left blank.") //若为空打印语句
return false
}
return true

}

function validateEmail() //判断E-mail是否为空
{
validate("The e-mail field ",document.contest.email.value) //传参。进入validate方法判断
}

function validateEssay() //与E-mial一样做同样的判断处理
{
validate("The essay field ",document.contest.essay.value)
}

function validateForm()
{
if(!validate("The last name field",document.contest.last.value))
{
return false
}
if(!validate("The e-mail field",document.contest.email.value))
{
return false
}
if(!validate("The essay field",document.contest.essay.value))
{
return false
}
}

</script>

</head>

<body>

<form name="contest" onSubmit="return validateForm()">

<h2 align="center">Contest Application</h2>
<p>
Last name:<input name="last" type="TEXT" onChange="nameSelect()" size="16">
First name:<input type="text" name="fist" size="12">
Middle Initial:<input type="TEXT" name="initial" size="2"></p>

<p>
E-mail address:<input type="TEXT" name="email" size="32" onChange="validateEmail()">
</p>

<textarea name="essay" rows="5" cols="40" onChange="validateEssay()"></textarea>

<p>
Submit your winning entey: <input type="submit" name="go" value="Make mea winner!">
</p>

</form>

</body>
</html>

程序基本能看明白,但是有个不理解的地方。
比如,这段:

function validate(fieldName,fieldValue)
{
if(isBlank(fieldValue))
{
alert(fieldValue+" cannot be left blank.")
return false //如果这行执行了返回flase,是跳出整个函数吧?
}
return true //想问下,这里是true或者false有什么区别?如果是true我猜它应该是继续执行。但如果是false跳出函数,是否也可以继续执行。
}

不理解的是为什么要加return false return true?
我知道他们是返回真假值。

抱歉我现在没法做试验,只好问问 -."
谢谢

函数返回的值是返回给调用它的程序.

例如:

i=validate("xx","xxx");

这里调用函数validate(),将函数返回的值赋予变量i;当函数返回true时,则i的值为true;若返回false时,i的值为false;
当然,如果该函数的功能不需要返回值,可以直接用return就可以了;

JavaScript返回true表示继续执行操作,否则将取消操作。下面是一个例子:
<FORM ACTION="NextPage.asp" METHOD="POST"NAME="Form1"onSubmit="return checked(this)">
在这里,只有当checked函数返回true时才执行表单提交操作。

JavaScript返回true表示继续执行操作,否则将取消操作。下面是一个例子:
<FORM ACTION="NextPage.asp" METHOD="POST"NAME="Form1"onSubmit="return checked(this)">
在这里,只有当checked函数返回true时才执行表单提交操作。

真和假当然有区别啦,先搞二分再说

只有当checked函数返回true时才执行表单提交操作。