js:return;return true;return false;区别

来源:互联网 发布:用编程代码说我爱你 编辑:程序博客网 时间:2024/05/19 06:48
一、返回控制与函数结果语法为: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