Javascript JS模块:直接在对象中返回函数和在返回函数的对象中返回函数的区别

Javascript JS模块:直接在对象中返回函数和在返回函数的对象中返回函数的区别,javascript,Javascript,这是多余的,但我正在学习JS,我想知道它到底是如何工作的 直接从模块返回函数 通过使用函数返回函数 在第一种情况下,对象的getTest属性指向一个函数,因此以这种方式调用它: func1().getTest() func1().getTest()(); 应导致记录1 在第二种情况下,getTest返回一个函数,该函数返回另一个函数,因此您还必须调用结果才能获得1,方法如下: func1().getTest() func1().getTest()(); 只调用getTest将返回您的函数

这是多余的,但我正在学习JS,我想知道它到底是如何工作的

  • 直接从模块返回函数
  • 通过使用函数返回函数

  • 在第一种情况下,对象的
    getTest
    属性指向一个函数,因此以这种方式调用它:

    func1().getTest()
    
    func1().getTest()();
    
    应导致记录1

    在第二种情况下,
    getTest
    返回一个函数,该函数返回另一个函数,因此您还必须调用结果才能获得
    1
    ,方法如下:

    func1().getTest()
    
    func1().getTest()();
    

    只调用
    getTest
    将返回您的函数对象,而不是调用它。

    唯一的区别是在调用test的第二个版本中,您需要执行
    func1().getTest()
    ,而在第一个版本中,您需要执行
    func1().getTest()