return
可以使用return来设置函数的返回值
语法:return 值;
函数如果有返回值需要定义一个变量(容器)来接收,在函数中return后面的语句不会被执行。
如果return 语句后不跟任何值就相当于返回一个undefined,如果函数中不写return,则也返回undefined
return后面可以跟任意类型的值
返回值的类型
函数的返回值可以是任意类型的值,包括对象和函数。
function fun1(){
function fun2(){
console.log('hello');
}
return fun2;
}
var a=fun1();
console.log(a);
这里返回的是一个函数对象,只是单纯的对象,如下图:
如果修改一下返回值,
function fun1(){
function fun2(){
console.log('hello');
}
return fun2();
}
var a=fun1();
console.log(a);
这里返回的是函数的返回值,因为加了括号,相当于调用了函数,因为fun2函数并没有返回值,所以输出a的值为undefined,如图:
外面调用fun2函数
function fun1(){
function fun2(){
console.log('hello');
}
return fun2;
}
var a=fun1();
a();
结果
也可以不声明变量接收放回值,因为返回值是一个函数,所以可以自己直接调用
function fun1(){
function fun2(){
console.log('hello');
}
return fun2;
}
fun1()();
这样写法结果和上图一致