javascript - 创建 'this' 的备份

标签 javascript backup this

在 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/

相关文章:

javascript - 数组 "property lists"叫什么,它们与简单对象有何不同?

javascript - 给 <option> 标签一个类? API 调用不起作用

sqlite - Xamarin.forms 备份 SQLite 数据库

database - 如何备份sqlite数据库?

c++ - C++ 中 decltype(this) 的类型是什么?

Java 使用新类向现有类添加功能,同时仍然公开先前类的所有方法

javascript在不重定向的情况下更改get参数

javascript - 使用对象引用调用 setinterval

linux - 安排本月最后一个星期日的 crontab 作业

c++ - 静态类成员不是与 this 指针没有关联吗?