面向对象写法是要避免函数嵌套吗?~

看了某社的 Js 基础教程 里边说面向对象的写法原则之一要避免函数套函数 那是要把所有的函数都拆出来当成方法了呗 如果是只实现具体功能 并不通用的函数也要写成整个对象的方法吗?这样做有什么意义吗?是避免 this 混乱吗?~

阅读 3.1k
2 个回答

面向对象是为了降低代码复杂度。如果一个项目简单到你觉得随便写都能写好,写完后,别人一眼就能看出每段代码都在做什么,那么你大可不必面向对象。

但是反而言之,如果要做某个东西,你感觉超复杂,逻辑捋不清,代码写出来超乱,哪里调用哪里很难看出来。那么你就需要面向对象,将一些操作,一些功能,按照抽象视角将其分类。这就是面向对象。

我估计这基础教程并不是告诉你要去面向对象, 而是在以面向对象编程为预设的情况下, 告诉你不要嵌套函数. 所以不要为了机械地照搬面向对象方法而面向对象.

在实际代码中, 函数与对象方法并不矛盾和冲突. 你需要根据业务逻辑需要来确定是作为普通的函数还是对象方法比较好. 而在使用函数的时候, 我推荐你使用纯函数.

另外, this 只在一种情况下会混乱: 不懂 this 含义和用法的时候.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题