我正在创建一个应用程序,但我对制作它的方式有疑问。
- 您将能够选择一个数字来确定两个相同圆圈的时间流逝(以分钟为单位)。 (为每个圆圈创建单独的按钮来增加和减少时间)
- 随着时间的流逝,第一个圆圈会填满,直到第一个圆圈的倒计时达到 0 分钟。
- 现在,第二个相同的圆圈将开始倒计时,并根据您最初指定的时间填充。
我已将所有适当的 DOM 元素(圆圈、用于递增/递减时间的按钮)链接到为第一个圆圈编写的函数和事件处理程序,并且它运行完美。第二个圆圈本质上是完全相同的东西,只是它的事件有一个不同的 button
元素,当然它是一个不同的圆圈。
如果我复制并粘贴所有代码,然后将与圈 1 关联的变量和函数名称更改为圈 2 的新变量和函数名称,那么它将完美地工作。这看起来非常重复,我确信有更好的方法来解决这个问题。
我想到的是OOP。因此,当我按下此按钮时,我可以说当我按下与每个圆圈关联的此按钮时,此圆圈将填满,而不是说圆圈1或圆圈2应该填满。我的想法正确吗? OOP 是我问题的答案吗?
最佳答案
如果您可以让它与代码重复一起工作,那就是一个很好的开始。然后你要做的就是重构:
查找代码中完全重复的部分,如果可能,将它们提取到一个函数中。
然后查找代码中执行 var1
和 var2
等操作的部分,并考虑在数组循环中抽象重复的方法、生成器函数或 OOP 类和实例模式。
随着您的继续,您会发现您的代码在功能上是相同的,但更容易推理和阅读。
也不要害怕从空白文件重新启动!
关于javascript - 使用 OOP 减少代码并使其可重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40425838/