簡單講:return;只是退出當前函數。
要說明JavaSctipt返回空值return;的作用,我們先看看 return 的一些細節知識,如:onClick='return add_onclick()' 與 onClick='add_onclick()' 的區別。
JavaScript 在事件中調用函數時用return返回值,實際上是對 window.event.returnvalue 進行設置,而該值決定了當前操作是否繼續。
- 當返回的是 true 時,將繼續操作。
- 當返回的是 false 時,將中斷操作。
而直接執行時(不用return),將不會對window.event.returnvalue進行設置,所以會默認地繼續執行操作。例如,在
<a href="abc.htm" onclick="return add_onclick()">Open</a>
中,如果函數 add_onclick() 返回 true, 那麼頁面就會打開 abc.htm。否則(返回 false),頁面不會跳轉到 abc.htm,只會執行你的 add_onclick() 函數裏的內容(add_onclick函數中控制頁面轉到 abc.htm除外)。而不帶 return 的語句:
<a href="abc.htm" onclick="add_onclick()">Open</a>
不管 add_onclick() 返回什麼值,都會在執行完 add_onclick() 後打開頁面 abc.htm。
return 是 Javascript 裏函數返回值的關鍵字,一個函數內處理的結果可以使用return 返回,在調用函數的地方就可以用變量接收返回結果。return 關鍵字內任何類型的變量數據或表達式都可以進行返回,甚至什麼都不返回也可以比如
function NullReturn(IsNull)
{
if(IsNull==true)
{
return;
}
}
這樣寫也是可以的,這裏的意思是返回空(null),所以有的時候return 的作用就是用來終止函數執行。再比如,不加return 的情況:
<html>
<head>
<title>return驗證測試</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 的情況:
<html>
<head>
<title>return驗證測試</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>
運行就會發現加return 和不加return 的區別,最簡單的測試辦法,上面的兩個例子什麼都不輸入直接登陸,會有如下的反應:
不加 return 的現象是先提示用戶名沒輸入,然後提示密碼沒輸入,也就是說,程序會繼續執行下去;
加了 return 之後,遇到一個沒輸入之後就不再繼續檢測;
return false 表示返回一個 false 值,也就是說提交是不成功的,就是不會提交上去。
return true 表法返回一個 true 值,也就是提交了,不管你輸入沒有輸入值,都會提交到action指定頁面。
https://www.cnblogs.com/weiwang/archive/2013/08/19/3268374.html
另外參考連接中的文章及其評論。