return返回值,必须写成 这种形式呢?

img


为什么这样写不行呢,,必须写成 console.log(fn(10,20))这种形式呢

fn()是用function声明的一个函数名,完整写完是需要带上括号的。单独的fn不算是已声明的变量,也不算是完整的函数名,所以不能输出哇!

你可以改成
var ret=fn(10,20)
console.log(ret)

你代码中 fn(10,20) 这句是调用函数执行;
console.log(fn(10,20)) 这个意思是 fn(10,20) 执行后的值使用 console.log()打印到控制台;
console.log(fn) 这个是打印你定义的 fn 函数体;

fn(10,20)只是调用了函数,console.log()是在控制台打印,会打印出来fn调用之后的值

不行的,你控制台打印的是fn这个函数对象了,fn(1,2)是调用这个函数,console.log(fn(1,2))是打印函数调用结果

console.log(变量);
不支持里面直接调用一个函数进行控制台打印

console.log(fn) 你这个并未打印,因为没有执行,没有返回值,但是
如果console.log(fn())这样就会返回0,console.log(fn(10,20)) 这样也能返回值
主要是因为函数执行要fn(),而不是fn

是必须用fn(10,20)。
fn 是一个函数指针,fn 值是函数指针指向的内存地址。

递归改成顺序执行

1、 fn 是这个方法本身的定义;
2、你想获取返回值,要么 var a = fn(x, y), 然后获取a ;或者就直接拿fn(x, y)了
所以直接获取fn是不行的,没有结果的

fn()是用function声明的一个函数名,fn的话并不是一个可调用的函数,把他当成一个变量的话,也没把开辟的内存空间指向到fn()
所以这样输出是不行的,你可以
console.log(fn(10,20))
或者 var fn=fn(10,20) console.log(fn)

fn(10,20)是调用函数,给一个变量赋值,打印变量就好了

首先,你用function声明的函数fn,fn()表示执行,执行后有返回值,但是仅仅是返回了,没有打印,你需要调用console.log打印出来

您的采纳就是我最大的动力,谢谢!!!

img