函数的返回值

在函数中可以使用 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方法没有返回值

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值