JavaScript 函数提供两个接口实现与外界的交互,其中参数作为入口,接收外界信息;返回值作为出口,把运算结果反馈给外界。
在函数体内,使用 return 语句可以设置函数的返回值。一旦执行 return 语句,将停止函数的运行,并运算和返回 return 后面的表达式的值。如果函数不包含 return 语句,则执行完函数体内每条语句后,返回 undefined 值。
JavaScript 是一种弱类型语言,所以函数对接收和输出的值都没有类型限制,JavaScript 也不会自动检测输入和输出值的类型。
下面代码定义函数的返回值为函数。
function f() {
return function(x,y) {
return x + y;
}
}
函数的参数没有限制,但是返回值只能是一个;如果要输出多个值,可以通过数组或对象进行设计。
function f() {
var a = [];
a[0] = true;
a[1] = function(x,y) {
return x + y;
}
a[2] = 123;
return a; //返回多个值
}
在上面代码中,函数返回值为数组,该数组包含 3 个元素,从而实现使用一个 return 语句,返回多个值得目的。
在函数体内可以包含多条 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;
}