首页 > 编程笔记

JS函数返回值和return关键字

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

在函数体内,使用 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;
}

推荐阅读