【发布时间】:2017-12-30 20:02:42
【问题描述】:
我希望一个函数只运行一次。我在 SO 上找到了this question,投票率最高的示例重新定义了函数,然后执行应该运行一次的代码。我确信这样做是有充分理由的,而不是运行代码然后重新定义函数,但我不知道那会是什么。我的第一直觉是只在代码运行后重新定义函数,因为这看起来“更安全”,因为代码必须在重新定义之前运行。
有人能解释一下为什么约定似乎首先要重新定义吗?
【问题讨论】:
-
请在您的问题中添加相关语言标签。
-
如果你在谈论
javascript那么没有区别,因为没有线程 - 只有一个事件循环,你的函数不能同时从多个线程调用,但只能依次。阅读更多关于 js 中的事件循环developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop -
所以是为了防止它在多线程环境中多次运行。说得通!是的,我正在使用 JavaScript,但我认为这是一个普遍的问题,所以我把它留了下来。由于它的广泛使用,我添加了 JS 标签,即使这个问题适用的范围更广。感谢您的回复。
标签: javascript function design-patterns