在 javascript 中,我有一个对象(将其视为一个形状),可以将其置于编辑模式并进行编辑,或者置于不可编辑模式。在可编辑模式下,我想要一个取消按钮来取消所有编辑并将形状返回到其原始形式。我希望使用类似下面的东西,但是将东西分配给“this”是行不通的。最好的方法是什么?我不想使用外部对象来存储备份,因为可能有很多形状,并且要整理出哪个备份对应于添加了封装得不好的代码的内容。
Shape.prototype.edit = function() {
this.backup = this;
...
}
Shape.prototype.cancelEdit = function() {
this = this.backup;
...
}
最佳答案
我认为Shape
应该包含属性对象,例如this.properties
。在该对象中,您应该存储有关形状的所有信息(它将类似于形状的模型,只有数据,没有任何方法或其他内部类数据)。并且在备份功能中您应该只备份属性,而不是所有形状的对象。
(我的母语不是英语,如果需要,请随时纠正我的信息)
关于javascript - 创建 'this' 的备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445076/