javascript - 为什么有多个不带参数的对象方法?

标签 javascript javascript-objects processing.js khan-academy

我最近开始学习和实现 JavaScript 中的对象。但这让我想到,如果一个对象的功能可以放入一个方法中,那么为什么要使用多个方法,例如 Example.prototype.update = function()Example.prototype.draw = function() 如果这些方法之一不需要参数?我可以定义然后调用 one 方法,例如 Example.prototype.do = function() 并放置这两个方法具有的所有功能。它更容易且代码更少,但也许最好在我的对象中拥有一个具有多个特定方法的结构?谢谢。

编辑:我问这个关于没有参数的方法,因为如果您将多个带有参数的方法的所有功能分组在一起,那么将十几个参数输入到一个函数中将是一项非常繁琐的工作。

感谢您的反对!

最佳答案

有不同的原因:

概述

干净代码:敏捷软件工艺手册中,Robert Martin 说道:

The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that. Functions should not be 100 lines long. Functions should hardly ever be 20 lines long.

随之而来的还有可维护性,我的意思是,如果函数很长,人类对编码的理解就会开始缺乏。

可重用性

函数的重点是重用它们。因此,想象一个函数多次调用同一对象的另一个函数。要合并它,您可能需要重复编码。

其他原因

  1. 性能:也许您不想同时做所有事情(可能是因为这很耗时或者您只想在需要时做...)或者您根本不想做某些事情?
  2. 逻辑:有些东西就是不属于一起,例如绘图方法和删除方法。将它们合并到一个函数中是没有意义的。
  3. 封装:每个函数都有自己的作用域,因此如果您只使用一个函数,您可能会弄乱作用域

关于javascript - 为什么有多个不带参数的对象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38781256/

相关文章:

javascript - JavaScript 中的文件路径

javascript - gulp-stylus 不编译文件,处理内存不足

javascript - 如何在 Typescript 中调用 $element

javascript - 如何在 javascript 中创建待办事项列表

Javascript setattr 或 setOwnProperty

javascript - 使用 jQuery 在单击时切换 CSS 类不起作用

javascript - 使用在对象中找到的键从对象列表中创建映射

java - Collections.shuffle 不适用于Processing.js?

java - 我可以使用ProcessingJS编译器将Java代码转换为JavaScript以用于非ProcessingJS目的吗?

javascript - 如何从javascript访问processing.js变量并更改它