非常愚蠢的问题,但我早些时候随机考虑过这个问题,但我从未尝试过这样做......假设我有一个这样的类(class):
function Drug () {
this.name = '';
this.type = '';
}
稍后在页面中我为该药物设置了一些值:
var drug = new Drug();
drug.name = 'Testing';
drug.type = 'TestType';
有没有一种简单的方法可以让我们将这个 Drug 实例重新启动到默认值而无需只做类似的事情:
var drug2 = new Drug();
就像某种reset 函数,我可以在Drug
中创建它来执行drug.reset();
?
我试过:this.clear = function () { return new Drug();
但这并不能解决问题...
最佳答案
你有点想多了。不是直接在构造函数中初始化这些属性,而是创建一个 init()
方法来初始化它们,由构造函数调用。然后您可以调用它来重新初始化对象的属性。
function Drug () {
this.init();
}
Drug.prototype.init = function() {
this.name = '';
this.type = '';
}
// Instantiate:
var d = new Drug();
d.name = 'Testing';
console.log(d);
// Drug {name: "Testing", type: ""}
// Re-initialize it
d.init();
console.log(d);
// Drug {name: "", type: ""}
这当然不是您处理它的唯一方法,但第一个想到的方法。
关于javascript - 将 Javascript 类重置为其默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14177035/