函数的返回值

课后整理 2020-12-10

函数提供两个接口实现与外界进行交互,其中参数作为入口,接收外界信息;返回值作为出口,把运算结果反馈给外界。

在函数体内,使用return语句可以设置函数的返回值,一旦执行return语句,将停止函数的运行,并运算和返回return后面的表达式的值。如果函数不包含return语句,则执行完函数体内每条语句后,返回undefined值。

【提示】

JavaScript是一种弱类型语言,所以函数对于接收和输出的值都没有类型限制,JavaScript也不会自动检测输入和输出值的类型。

【示例1】下面代码定义函数的返回值为函数。

function f(){
    return function(x, y){                         //返回值为函数 
        return x + y;
    }
}

【示例2】函数的参数没有限制,但是返回值只能是一个,如果要输出多个值,可以通过数组或对象进行设计。

function f(){
    var a = [];
    a[0] = true;
    a[1] = function(x, y){
        return x + y;
    }
    a[2] = 123;
    return a;                                            //返回多个值 
}

在上面代码中,函数返回值为数组,该数组包含3个元素,从而实现使用一个return语句,返回多个值的目的。

【示例3】在函数体内可以包含多个return语句,但是仅能执行一个return语句,因此在函数体内可以使用分支结构决定函数返回值,或者使用return语句提前终止函数运行。

function f(x, y){ 
    //如果参数为非数字类型,则终止函数执行 
    if( typeof x !=  "number" ||  typeof y !=  "number") return;
    //根据条件返回值 
    if(x > y) return x - y;
    if(x < y) return y - x;
    if(x * y <= 0) return x +  y;
}