什么是函数的返回值呢?
和往常一样我们先看一个小栗子
function sum(a,b,c) {
console.log(a+b+c);
}
sum(1,2,3)
最后可以返回6,这是我们想要的结果。but来了,我们并不是每次都想要输出来呀,我们单纯的只是想要拿到a+b+c的值,你这样做不太好吧。比如我称了下体重一看是200公斤,你一下子给我念出来了,我觉得太丢人了,一样的道理,我只需要拿到就好啦,不需要你给我输出来。。。。
1.return返回值
return后面的值,就是函数执行后的结果,我们可以利用return拿到这个值
function sum(a,b,c) {
var d = a + b +c
return d
}
var result = sum(1,2,3)//result就是函数执行后拿到的结果
console.log(result);//6
2.return下面的代码就不会执行了
function sum(a,b,c) {
var d = a + b +c
return d
console.log(123);//不会执行
}
var result = sum(1,2,3)
console.log(result);
3.return后面不加任何东西,返回值就是undefined
function sum1(a,b,c) {
var d = a + b + c
return
}
result = sum1(1,2,3)
console.log('result='+result);//result=undefined
4.return后面可以跟任何数据类型
function sum3(a,b) {
var c = a + b
return 'hello'
}
var result = sum3(1,2)
console.log('result='+result);//result = hello
5.return后面可以跟对象,也可以跟函数(函数即对象)
var obj = {
name:'小明',
address:'西安',
gender:'女',
}
function fun () {
return obj
}
a = fun()
console.log('a='+a);//a=[object Object]
console.log(a); //{name: '小明', address: '西安', gender: '女'}
console.log(a.name);//小明
function fun1() {
function fun2() {
alert('我是fun2函数')
}
fun2()
return fun2
}
a = fun1()
// console.log(a());
// fun1()()