深入理解javascript中return的作用
這里面的return含有一些細(xì)節(jié)知識:
例如:onClick='return add_onclick()'與 onClick='add_onclick()'的區(qū)別
JAVASCRIPT在事件中調(diào)用函數(shù)時(shí)用return返回值實(shí)際上是對window.event.returnvalue進(jìn)行設(shè)置。
而該值決定了當(dāng)前操作是否繼續(xù)。
當(dāng)返回的是true時(shí),將繼續(xù)操作。
當(dāng)返回是false時(shí),將中斷操作。
而直接執(zhí)行時(shí)(不用return)。將不會對window.event.returnvalue進(jìn)行設(shè)置
所以會默認(rèn)地繼續(xù)執(zhí)行操作
詳細(xì)說明如下:
例如:
當(dāng)在 <a href="abc.htm" onclick="return add_onclick()">Open</a> 中
如果函數(shù) add_onclick() 返回 true, 那么 頁面就會打開 abc.htm
否則, (返回 false), 那么頁面不會跳轉(zhuǎn)到 abc.htm, 只會執(zhí)行你的 add_onclick() 函數(shù)里的內(nèi)容. (add_onclick函數(shù)中控制頁面轉(zhuǎn)到 abc.htm除外
)
而 <a href="abc.htm" onclick="add_onclick()">Open</a>
不管 add_onclick() 返回什么值, 都會在執(zhí)行完 add_onclick 后打開頁面 abc.htm
另外補(bǔ)充:
onclick事件時(shí)就相當(dāng)于onclick="return true/false"
例:
function check()
{
if(obj.value=="" )
{
window.alert("不能為空!");
obj.focus();
return false;
}
return true;
}
調(diào)用方法返回true時(shí)才提交表單,反之則不提交,這是submit按鈕
------------------------------------------------------------------------------------------
調(diào)用js函數(shù)不需要return,但是表單卻無法提交,所以在js函數(shù)中加上一句話
例:
<script language="javascript">
function check()
{
if(obj.value=="" )
{
window.alert("不能為空!");
obj.focus();
return false;
}
document.myform.submit();
return true;
}
</script>
注:document.myform.submit();要在return true前
關(guān)于javascript中的 return false和return true
return 是javascript里函數(shù)返回值的關(guān)鍵字,一個(gè)函數(shù)內(nèi)處理的結(jié)果可以使用return 返回,這樣在調(diào)用函數(shù)的地方就可以用變量接收返回結(jié)果。return 關(guān)鍵字內(nèi)任何類型的變量數(shù)據(jù)或表達(dá)式都可以進(jìn)行返回,甚至什么都不返回也可以比如
function NullReturn(IsNull)
{
if(IsNull==true)
{
return;
}
}
這樣寫也是可以的,這里的意思是返回空(null)
所以有的時(shí)候return 的作用就是用來終止函數(shù)執(zhí)行。
比如
<html>
<head>
<title>return驗(yàn)證測試</title>
<script language="javascript">
function Login_Click()
{
if(document.form1.UsName.value=="")
{
alert('用戶名為空');
}
if(document.form1.UsPwd.value=="")
{
alert('密碼為空');
}
alert('登陸成功');
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="UsName" >用戶名
<input type="password" name="UsPwd">密碼
<input type="button" name="Login" onClick="Login_Click();" >登陸
</form>
</body>
</html>
不加return 的情況
加return
<html>
<head>
<title>return驗(yàn)證測試</title>
<script language="javascript">
function Login_Click()
{
if(document.form1.UsName.value=="")
{
alert('用戶名為空');
return;
}
if(document.form1.UsPwd.value=="")
{
alert('密碼為空');
return;
}
alert('登陸成功');
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="UsName" >用戶名
<input type="password" name="UsPwd">密碼
<input type="button" name="Login" onClick="Login_Click();" >登陸
</form>
</body>
</html>
運(yùn)行就會發(fā)現(xiàn)加return 和不加return 的區(qū)別,
最簡單的測試辦法,上面的兩個(gè)例子什么都不輸入直接登陸,樓就明白了。
不加return的現(xiàn)象是先提示用戶名沒輸入,然后提示密碼沒輸入;加了return之后遇到一個(gè)沒輸入之后就不再繼續(xù)檢測
return false表示返回一個(gè)false值,也就是說提交是不成功的,就是不會提交上去。
return true表法返回一個(gè)true值,也就是提交了,不管你輸入沒有輸入值,都會提交到action指定頁面。
相關(guān)文章
探討JavaScript中的Rest參數(shù)和參數(shù)默認(rèn)值
這篇文章的主要介紹了JavaScript中的Rest參數(shù)和參數(shù)默認(rèn)值,內(nèi)容很充實(shí),需要了解的朋友可以參考下2015-07-07使用原生JS獲取select元素選中的value和text值
這篇文章介紹了使用原生JS獲取select元素選中的value和text值,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03將光標(biāo)定位于輸入框最右側(cè)實(shí)現(xiàn)代碼
如何將光標(biāo)定位于輸入框最右側(cè)的實(shí)現(xiàn)方式,這種做法很多人都需要,本文將詳細(xì)介紹,需要的朋友可以參考下2012-12-12表單元素的submit()方法和onsubmit事件應(yīng)用概述
表單元素?fù)碛衧ubmit方法,同時(shí)也具有onsubmit事件句柄,用于監(jiān)聽表單提交??梢允褂胑lemForm.submit();方法觸發(fā)表單提交,感興趣的朋友可以了解下,或許對你有所幫助2013-02-02