var person = {
name: 'John'
};
function Pet1(person) {
var owner = person.name;
this.showOwner = function() {
alert(owner);
}
}
function Pet2(person) {
this.showOwner = function() {
alert(person.name);
}
}
var pets = [new Pet1(person), new Pet2(person)];
...
pets.splice(0, 1);
pets.splice(0, 1);
上記のどのコードが、JS GCがPet1とPet2のインスタンスがスコープ外になったとき、またはどちらへの参照がなくなったときにそれらのインスタンスを収集しないようにします。私が知っているのはPet2ですが、Pet1もJS GCを妨げると思いませんか?