首页 > 编程笔记
JS函数返回值和return关键字
JavaScript 函数提供两个接口实现与外界的交互,其中参数作为入口,接收外界信息;返回值作为出口,把运算结果反馈给外界。
在函数体内,使用 return 语句可以设置函数的返回值。一旦执行 return 语句,将停止函数的运行,并运算和返回 return 后面的表达式的值。如果函数不包含 return 语句,则执行完函数体内每条语句后,返回 undefined 值。
JavaScript 是一种弱类型语言,所以函数对接收和输出的值都没有类型限制,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; }