函数的返回值
-
可使用return设置函数的返回值
-
语法:
return 返回结果(值、对象、变量等均可)
-
return返回的结果作为函数执行的结果返回
-
可通过定义变量用于接收该结果
-
函数执行的结果就是定义的变量的值
function sum(a, b, c) { var result = a + b + c return result } var numSum=sum(1, 2, 5) console.log(numSum) //结果:8
-
在函数中,return语句后的语句均不执行
function sum(a, b, c) { var result = a + b + c return result console.log(a+b) //此代码不执行 } var numSum=sum(1, 2, 5) console.log(numSum) //结果:8
-
当return后没有任何结果时,默认返回undefined
function sum(a, b, c) { var result = a + b + c return } var numSum=sum(1, 2, 5) console.log(numSum) //结果:undefined
-
若函数没有返回语句时,其执行结果所附变量值为undefined
function sum(a, b, c) { var result = a + b + c } var numSum=sum(1, 2, 5) console.log(numSum) //结果:undefined
-
alert函数不具备返回值
var outprint = alert('hello') console.log(outprint) //结果:undefined
-
- 返回值的类型: 任意数据类型
案例
案例1:定义一个函数判断一个数字是否为偶数
//方法1:
function isEven(num) {
if (num % 2 === 0) {
return true
} else {
return false
}
}
var result = isEven(2)
console.log(result) //结果:true
//方法2
function isEven(num) {
return num % 2 === 0
}
var result = isEven(2)
console.log(result) //结果:true
案例2:定义一个函数根据半径圆的面积并返回结果
function space(r){
return Math.PI*r*r
}
var result=space(5).toFixed(2)
console.log(result) //结果:(保留小数点后两位小数)78.54
案例3:定义一个函数输出用户部分信息(name、age、gender、address)
- 参数数量较多时,传入参数时需注意顺序
function sayHello(name,age,gender,address){
console.log('姓名:'+name+',年龄:'+age+',性别:'+gender+',地址:'+address)
}
sayHello('张三',25,'男','北京')
//结果:姓名:张三,年龄:25,性别:男,地址:北京
- 可使用对象将多个参数传入函数
var obj={
name:'孙悟空',
age:25,
gender:'男',
address:'花果山'
}
function sayHello(person){
console.log('姓名:'+person.name+',年龄:'+person.age+',性别:'+person.gender+',地址:'+person.address)
}
sayHello(obj)
//结果:姓名:孙悟空,年龄:25,性别:男,地址:花果山
-
实参也可为一个函数
-
区分调用函数和函数对象
函数名() //调用函数 使用的是函数的返回值 函数名 //函数对象 使用函数对象