js中return的用法

转自:https://blog.csdn.net/sweetllh/article/details/70306737

一、函数返回值,并终止函数的运行 
语法:return 表达式; 
在函数语句结束时执行,并返回表达式的值作为函数的结果; 
比如:

function foo(obj){
var resultObj=obj
//可对传入参数进行处理.
return resultObj;
}
1
2
3
4
5
在这个列子中:obj 代表的是一个对象.所谓对象就是所他可以包纳万物.无论是Number bool 还是String 或这是其他实列都包含在里面.然而Return就是需要将处理过后的结果返回出去.就相当于一个工厂.我提供原材料然而工厂输出的将会是产品.这样将还不明白我们可以简单的这样理解。

比如:用函数来做一个加法运算,需要他返回值。

function Add(a,b){
var result=a+b;
return result;
}
1
2
3
4
这个列子中.如果你在外部直接调用这个函数如: 
var text=Add(1,2); 
就会得到(a+b)的和 也就是说结果是3;

再看一个例子:

function compare( a , b ){ 
//函数体,判断两个整数比较的三种情况
  if( a > b ){
     return   a;
  }
  else if( a == b ){
    return  "一样大";
  }
  else{
    return  b;
 }     
  } 
  //简单理解就是:Js 的函数返回的是对象,a,b 是对象,“一样大”也是对象(字符串)。
1
2
3
4
5
6
7
8
9
10
11
12
13
函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数。 
语法格式: 
return 表达式 
代码实例如下:

function add(){
 var a=1;
 var b=2;
 return a+b;
}
function func(){
 console.log(add())
}
func();


以上代码中,当调用func()函数的时候,控制权由func函数掌握,当再调用add函数的时候,控制权交付给add函数,然后返回一个值并将控制权再交付给func函数。 
实例:

function a(){
  return 10;
  //这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
  document.write(50);
  //由于上面已经return了,这条代码不会执行
}

至于什么时候会用到,那看你要函数来做什么,你要他返回值就返回咯,不要他返回就不返回咯! 
比如,用函数来做一个加法运算,需要他返回值,那就这样

function  a( b, c ) {
 return b  + c;
}

那么调用:

var abc = a(5, 80);
1
这个时候,abc这个变量的值会是85 
如果想直接输出结果,不要返回值那就

function a( b, c ) {
  document.write( b + c );
}

这个时候调用,

var abc = a(5, 80);

那么页面会输出85,但abc是没有值的

默认函数是没有返回值的。 
通常函数经过一系列处理后需要给外部返回一个值或者对象 
比如function sum(a,b){return a+b}; 
alert(sum(1,2))==>3如果没有return将会弹出undefined

二、返回控制 
语法:return;

一般来讲,为事件处理函数返回return:false; ,作用在于阻止默认事件行为和取消默认动作,比如,在默认情况下点击一个元素,那么页面就会跳转到元素href属性指定的页,那当你用return false;时,就相当于一个终止符,而return true;相当于一个执行符。 
比如:

<a href="eoh.html" onclick="return add_onclick()">open</a>          
//return false/true
   <script>
     function add_onclick(){
       return false; //false阻止跳转 
     }
   </script>

在js中,会常用return false; 来阻止表单提交或者继续执行下面代码,也就是阻止执行的默认行为。 
比如:

function sum(){
    if(true){
      return false;
    }
   }
   
   function test(){
    sum();
    num();
   }

虽然sum函数返回false阻止提交,但不会影响num函数的执行,a函数中返回false对test()函数而言只是相当于一个返回值,并不会影响test()函数的执行,简而言之,return:false;只对当前函数有效,并不会影响其他函数执行。

return 是javascript里函数返回值的关键字,一个函数内处理的结果可以使用return 返回,这样在调用函数的地方就可以用变量接收返回结果。return 关键字内任何类型的变量数据或表达式都可以进行返回,甚至什么都不返回也可以比如

function NullReturn(IsNull){
    if(IsNull==true){
    return;
    }
}

这样写也是可以的,这里的意思是返回空(null),所以有的时候return 的作用就是用来终止函数执行。比如: 
不加return

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></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>

猜你喜欢

转载自blog.csdn.net/fascinate_/article/details/87987320