如何在 JavaScript 中销毁对象
使用 JavaScript 将对象放置在命名空间
中
当你将一个对象放在一个 namespace
中时,你可以使用 delete
关键字来销毁这样一个对象。
首先,设置一个命名空间
对象。之后,这个 namespace
的属性之一应该是你要删除的对象,并使用 delete
关键字来销毁该对象。
JavaScript 垃圾收集器将删除该对象。结果,你将无法再访问它。
但是,删除 namespace
对象的尝试将失败。那是因为你不能在 JavaScript 中直接删除一个对象。
我们在下面的代码中将 profileDetails
放置在 namespace
对象中。你可以使用 delete
关键字删除 profileDetails
对象。
在使用 delete
关键字之前,我们确保对象存在于 namespace
中。
代码:
// Define the namespace
let nameSpace = {};
// Add an object to the namespace
nameSpace.profileDetails = {
first_name: "Habdul",
last_name: "Hazeez",
field_of_study: "Computer Science"
}
// Check that the object exists in nameSpace
console.log("Before deletion: ", nameSpace.profileDetails);
if (delete nameSpace.profileDetails) {
console.log("After deletion: Object Destroyed");
}
// Confirm deletion
if (!nameSpace.profileDetails) {
console.log("Confirm deletion: The object profileDetails does not exist in nameSpace.");
} else {
console.log("The object profileDetails was not deleted.");
}
输出:
Before deletion:
Object { first_name: "Habdul", last_name: "Hazeez", field_of_study: "Computer Science" }
After deletion: Object Destroyed
Confirm deletion: The object profileDetails does not exist in nameSpace.
提醒一下,delete
关键字不适用于 namespace
对象。
delete nameSpace;
输出:
false
使用 JavaScript 将对象变量引用设置为 null
如果变量指向一个对象并将其设置为 null
,你将无法访问该对象。因此,JavaScript 垃圾收集器将删除该对象。
在以下代码示例中,变量 userName
指向一个对象。我们现在可以通过 userName
变量访问该对象。
但是,如果我们将 userName
变量设置为 null
,你将无法再访问该对象。导致删除对象并释放内存。
代码:
let userName = {
id: 1,
position: 2
}
console.log("Before deletion: ", userName);
// Set the object reference to null
userName = null;
// Check if we can reach the object
console.log("After deletion: ", userName);
输出:
Before deletion: Object { id: 1, position: 2 }
After deletion: null
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。