我正在开发一个在表单中有很多验证的应用程序:
...
// oversimplified and abstracted away from the real code
disableField: function() {
var disable = this.canDisableField();
if (this._wasDisabled != disable) {
this.field.setDisabled(disable);
this._wasDisabled = disable;
}
...
},
...
我理解它正在做的是阻止该字段(最终成为HTML按钮)一次又一次被禁用(如果它已被禁用)。
我的问题是,它是否正在读取和设置HTML表单字段上的禁用属性真的很昂贵的操作?并且,成本是否确实补偿了防止它们的额外代码?
我知道触摸DOM总是有成本,但今天我不得不做一些硬调试才发现这些类型的验证在子类中注入了问题,如果我没有,我就永远不会发现问题t可以访问基类代码。
答案 0 :(得分:3)
在厄运中的任何单一操作在性能方面都是非常微不足道的。除非你每秒重复这个操作超过10000次,否则它并不昂贵。
正如人们总是说:“过早优化是万恶之源”。
如果页面变慢,你应该尝试做一些事情,在此之前,你应该专注于让它正常工作。