返回功能的功能

时间:2012-02-24 16:30:29

标签: javascript

假设有两种定义函数的方法:

第一种方式:

Bar.prototype.foo = function ()
{
  // do something
}

第二种方式:

Bar.prototype.foo = function ()
{
    return function () {
        // do something
    }
}

当然,第二种方式在关闭的情况下很有用。

还有其他情况,第二种方式比第一种方式更可取吗?

2 个答案:

答案 0 :(得分:1)

我有一个项目,我以类似于闭包的方式为某些输入类型动态构建验证器函数。

因此,基于输入参数返回不同的函数可能是后来定义函数的有效用例。

答案 1 :(得分:1)

你可以使用它做组合风格的工作,看到这个答案:https://stackoverflow.com/a/94056/426894