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

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