以下の例:
var testVar = {
a : {
テスト: 1
}
},
test1 = {},
test2 = {};
test1. a = testVar.a;
test2 .a = testVar.a;
/*
test1 を削除します。 a; 1}
console.log(testVar.a) // オブジェクト {test: 1}
*/
delete testVar.a;
console.log(test1.a); // オブジェクト {test: 1}
console.log(test2.a); // オブジェクト {test: 1}
コンソール。 log(testVar.a); // 未定義
テストを通じて、JavaScript delete によって削除されたオブジェクトが参照型の場合、参照されたオブジェクトではなく、参照されたオブジェクトへのポインターが削除されることがわかりました。したがって、testVar.a を削除しても、test1.a が指すオブジェクトは削除されません。
JavaScript のキーワード削除の原則の詳細については、以下をお勧めします。
http://perfectionkills.com/ Understanding-delete/
翻訳版:
http://www.ituring.com.cn/article/7620