JavaScript 使用node 疑问

image.png

如上图,使用var 以后调用可以打印出

image.png

但是直接调用或者 console.log 就不显示或者直接打印image.png

阅读 1.6k
2 个回答

f1 是一个函数:function f1() { },所以 console.log(f1) 输出说明它是一个函数,没毛病

如果 console.log(f1()),是输出 f1() 的调用结果,由于 f1() 返回的是 f2,而 f2 也是一个函数,所以仍然会输出函数信息,大概是 [Function: f2]

如果 console.log(f1()()),这回得到 f2 之后对其进行了调用,首先会输出 f2() 中的打印语句,也就是 999,接着会输出 f2() 的返回值,因为没有 return,会输出 undefined

image.png

var result = f1(); result() = f1()(); //log > 999
调用f1 之后取到的是 函数f2,调用f2 才会执行f2才会有输出

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题