函数的返回值return

在函数中可以使用 return 来设置函数的返回值,return 后面的值将会作为函数的执行结果返回,可以定义一个变量来接收函数的返回值。return 后面的值可以是任意类型,对象或函数等都可以作为返回值。

function sum (a,b,c){
    var total = a+b+c;
    return total;  //将一个基本类型变量作为返回值
}
 
var result = sum(4,7,8);
console.log(result); 
 
 
//输出19

代码中的 total作为 sum 函数的执行结果返回,变量 result 接受 sum 函数的返回值,函数返回什么 result 就是什么。

function fun2(){
    var obj = {
        name:"tom";
        age:13;
    };
 
    return obj; //将一个对象作为返回结果
}
 
var a = fun2(); //a此时指向obj
console.log(a); 
 
 
//输出:Object{name:"Tom",age:13}
 
function fun3(){
    function fun4(){
        console.log("我是fun4");
    }
 
    return fun4; //将一个函数作为返回值
}
 
var result = fun3();  //返回值是函数fun4,result指向fun4这个函数对象
console.log(result); //result为fun4,输出:function fun4()
result();  //相当于执行 fun4(),输出“我是fun4”
fun3()(); //相当于执行 fun4(),输出“我是fun4”。fun3()结果是fun4,fun3()()就是fun4()
 
//输出:function fun4()
//     “我是fun4”
//     “我是fun4”
function fun3(){
    function fun4(){
        var a = 1;
        console.log("我是fun4");
        return a;
    }
 
    return fun4(); //将函数fun4的返回值作为fun3的返回值
}
 
var result = fun3();  //result等于函数fun4的返回值a
console.log(result);  //result为1
 
//输出:“我是fun4”
//     1

在函数中 return 后的语句都不会执行,使用 return 可以结束整个函数。

function sum (a,b,c){
    var total = a+b+c;
    return total;
    console.log("hello!"); //这条语句不会执行,因为return语句在前面,函数已经返回,后面的不再执行
}
 
var result = sum(4,7,8);
console.log(result);
 
//输出:19

上面的例子中,如果写了 return 语句,但是后面没有跟值,返回 undefined 。

 function sum(a,b,c){
     var d = a+b+c;
     return ;
     console.log("hello"); //该语句不会执行
 }
 
 var result = sum(4,7,8);
 console.log(result);  //输出undefined
 
//输出:undefined

如果不写 return 语句,也是返回 undefined 。

 function sum(a,b,c){
     var d = a+b+c;
     console.log("hello"); //该语句会执行
 }
 
 var result = sum(4,7,8);
 console.log(result);  
 
 
//输出:“hello”
//     undefined
 


var result = alert("hello");
console.log(result);  
 
//输出undefined,alert方法没有返回值

————————————————
版权声明:本文为CSDN博主「luq_Autumn」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qiuqiula_/article/details/100101667

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值