我创建了2个对象:
<Button
android:id="@+id/register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="30dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/password"
android:text="Register"
android:textSize="15dp"
android:textColor="@android:color/white"/>
并使用大量选项初始化此对象
var Documentos = new QuadForm();
var Cadastro = new QuadForm();
然后我尝试将每个对象管理的数据与 getName 方法分开,但在第二个对象之后, myObjectName 变量被覆盖。< / p>
Cadastro.initForm(options);
Documentos.initForm(options2);
然后我使用窗口[ myObjectName ]。totalRecords但是当它更改为最新的对象名时,当然无法访问数据。
我该如何管理呢。
答案 0 :(得分:0)
管理多个实例并不是一个大问题,但是您的方法是不可能的,因为您无法真正找到所有可能的实例,而您的代码肯定不是您期望的那样。
例如,您可以在构造函数对象上定义一个包含所有实例的变量,并且在某些情况下可以使用它:
var QuadForm = function (name) {
this.name = name;
QuadForm.instances.push(this);
this.showAllOtherInstances = function () {
QuadForm.instances.forEach(function (instance) {
if (instance !== this) {
console.log('name: ' + instance.name);
}
}.bind(this));
}
}
QuadForm.instances = [];
var foo = new QuadForm('foo');
var anotherFoo = new QuadForm('foo');
var bar = new QuadForm('bar');
var aThirdFoo = new QuadForm('foo');
foo.showAllOtherInstances();
/*
* Output:
*
* name: foo
* name: bar
* name: foo
*/