1、声明函数 没有返回值,那么函数调用时返回的是undefined
function fn(){
var x=1;
}
console.log(fn());
结果是:undefined
fn 是函数名;fn() 是调用这个函数;函数只有调用了才能使用;
2、声明函数 有返回值,那么函数调用时返回的是 2
function fn1(){
var y=2;
return y;
}
console.log(fn1());
结果是 2
3、声明函数 有返回值,且返回值为函数,那么函数直接调用时返回的是 fn4 的函数体;
function fn3(){
var z=3;
function fn4(){
console.log(z)
}
return fn4;
}
console.log(fn3());
结果是:ƒ fn4(){ console.log(z) }
原因是因为 fn3 函数的返回值是 fn4函数; 为了解决这个问题。可以这样:
function fn3(){
var z=3;
function fn4(){
console.log(z)
}
return fn4;
}
let f = fn3();
f();