js:return;return true;return false;區別

一、返回控制與函數結果
語法爲: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章