f1 是一个函数:function f1() { },所以 console.log(f1) 输出说明它是一个函数,没毛病如果 console.log(f1()),是输出 f1() 的调用结果,由于 f1() 返回的是 f2,而 f2 也是一个函数,所以仍然会输出函数信息,大概是 [Function: f2]。如果 console.log(f1()()),这回得到 f2 之后对其进行了调用,首先会输出 f2() 中的打印语句,也就是 999,接着会输出 f2() 的返回值,因为没有 return,会输出 undefined
f1
是一个函数:function f1() { }
,所以console.log(f1)
输出说明它是一个函数,没毛病如果
console.log(f1())
,是输出f1()
的调用结果,由于f1()
返回的是f2
,而f2
也是一个函数,所以仍然会输出函数信息,大概是[Function: f2]
。如果
console.log(f1()())
,这回得到f2
之后对其进行了调用,首先会输出f2()
中的打印语句,也就是999
,接着会输出f2()
的返回值,因为没有return
,会输出undefined