在 JavaScript 开发中使用面向对象的编程方法,会比用面向过程的方法效率低吗?

打算对之前做的一个网站的js进行重构,最开始做的时候因为时间比较紧,而且整体的规划稿是一边规划的,所以都用了面向过程的方法来写。最近打算对这个网站的j…
关注者
35
被浏览
12,296

9 个回答

1.如果不能有效的进行代码复用,面向过程不见得会比各种封装简单的类库效率更高。

2.如果需求仅仅包含对DOM元素的操作和少量的ajax请求,那用jquery+面向过程足矣。除非你觉得站点的前端UI类库值得庞大到要用面向对象来满足其扩展性,建议还是怎么简单怎么来。

3.现在可能更多js工程师(前端工程师)是为了增进自己对javascript的理解,所以在懂了怎么用轮子之后,开始了造轮子的过程(其实我也在经历这个过程),但个人觉得更值得深入研究的并非只有面向对象的javascript,并不是说重构javascript就是要把面向过程变成面向对象这就完成重构了,而更重要的在于对自己的代码内在执行效率的优化。“怎样更合理的安排作用域链?”,“怎样减少代码的复用,创建表现与数据分离,低耦合的代码?”等等等等。

我在js上投入的精力还十分有限,所以很多东西都是一知半解。这次仍然抛块砖头,希望能引来牛人们更深刻的指点。

说实话,面向对象和程式化编程的区别是:面向对象对于人员合作,维护,拓展更有优势。而程式化编程更易于产生优质机器码。我们要知道抽象程度越高,运行速度相对会下降。这就是某些关键代码会用汇编来写。这两种方式差别在这,但是请记住这句话,没有糟糕的语言和方式,只有糟糕的程序员。选哪种方式主要看你的需求。