【发布时间】:2014-12-23 14:33:41
【问题描述】:
我正在尝试实现一个函数,该函数将另一个函数作为参数,并返回该函数的新版本,该函数只能被调用一次。
对结果函数的后续调用应该没有效果(并且应该返回未定义)。
例如:
logOnce = once(console.log)
logOnce("foo") // -> "foo"
logOnce("bar") // -> no effect
【问题讨论】:
-
您有工作的fiddle 来说明您的问题吗?因为按原样,我们无法理解……
-
你有什么问题?
-
他想要一个只能运行一次的函数。
-
once(console.log, "foo");好吗?比它更容易。 -
这里的函数曾经有参数console.log,它被分配给logOnce。因此,如果我调用 logOnce("foo") 它应该返回与 console.log("foo") 相同的功能。但这应该只被调用一次。
标签: javascript oop