【发布时间】:2023-03-08 23:36:02
【问题描述】:
有没有办法在 Javascript 中清除对象?具体来说,如果一个对象有多个成员变量,是否有一种简单的方法来重置每个值?
function exampleObject() {
this.valueA = "A";
this.valueB = "B";
this.myArray = [1,2,3];
}
所以基本上对于上面的一个实例,将三个成员重置为空字符串和一个空数组?我可以轻松地为对象创建一个成员函数的原型并调用它:
function exampleObject() {
this.valueA = "A";
this.valueB = "B";
this.myArray = [1,2,3];
exampleObject.prototype.resetAll = function() {
this.valueA = "";
this.valueB = "";
this.myArray = [];
}
}
但是我想为来自第三方库的对象执行此操作,因此添加成员函数是不现实的。
【问题讨论】:
-
用你想要的变量创建一个对象的实例......然后当你想“重置”它时......
var thisObj = blankObj; -
不是内置的,没有。您可能想要编写一个递归遍历对象并执行您想要的操作的函数。
-
@xxcezz 这行得通,但存在引用问题;如果现有对象已在某处引用,则必须更新所有这些引用。
-
然后创建一个全局 resetThisTypeOfObject() 函数并像@Qix 所说的那样做......但是添加到第三方库原型也不是那么困难
-
隐藏在众目睽睽之下:exampleObject.call(theInstance);将对象的初始值返回到初始值。
标签: javascript