一、返回控制與函數結果 語法爲:return 表達式;
語句結束函數執行,返回調用函數,而且把表達式的值作爲函數的結果
二、返回控制
無函數結果,語法爲:return; 在多數情況下,爲事件處理函數返回false,可以防止默認的事件行爲.如默認情況下點擊一個<a>元素,頁面會跳轉到該元素href屬性指定的頁. Return False 就相當於終止符,Return True 就相當於執行符。 在js中return false的作用一般是用來取消默認動作的。比如你單擊一個鏈接除了觸發你的 onclick時間(如果你指定的話)以外還要觸發一個默認事件就是執行頁面的跳轉。所以如果 你想取消對象的默認動作就可以return false。
首先在js中,我們常用return false來阻止提交表單或者繼續執行下面的代碼,通俗的來說就是阻止執行默認的行爲。
function a(){
if(True)
return false;
},這是沒有任何問題的。
如果我改成這種
function Test(){
a();
b();
c();
}
即使a函數返回return false 阻止提交了,但是不影響 b()以及 c()函數的執行。在Test()函數裏調用a()函數,那面裏面
return false 對於Test()函數來說,只是相當於返回值。而不能阻止Test()函數執行。
總之:return false 只在當前函數有效,不會影響其他外部函數的執行。
項目運用:
function checkForm(formData) {
var text = [];
if(isNull(formData["budget"])) {
text.push("費用預算不能爲空!");
}
if(formData["travelAttachList"].length <= 0) {
text.push("至少有一條出差項!");
} else {
$(formData["travelAttachList"]).each(function(index, attach) {
var st = attach["beginDate"];
if(isNull(st)) {
text.push("開始時間不能爲空!");
return false;
}
var et = attach["endDate"];
if(isNull(et)) {
text.push("結束時間不能爲空!");
return false;
}
if(st > et) {
text.push("開始時間不能大於結束時間!");
return false;
}
//今天出差,最晚後天提交流程,也就是最晚2天
var dd = new Date();
dd.setDate(dd.getDate()-2);//2天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//獲取當前月份的日期,不足10補0
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//獲取當前幾號,不足10補0
var limitDay = y+"-"+m+"-"+d;
if(!isNull(limitDay) && !isNull(st)){
if(st < limitDay){
text.push("請重選出差開始時間,出差申請必須在出差後兩天內填寫!");
return false;
}
}
});
$(formData["travelAttachList"]).each(function(index, attach) {
if(isNull(attach["place"])) {
text.push("出差地點不能爲空!");
return false;
}
});
}
return text;
}
三:總結
retrun true; 返回正確的處理結果。
return false;分會錯誤的處理結果,終止處理。
return;把控制權返回給頁面。
來源:http://www.cnblogs.com/weiwang/archive/2013/08/19/3268374.html