JavaScript 销毁对象

本文介绍了在JavaScript中如何销毁对象属性和实例方法。首先,通过delete运算符删除对象的name属性,使得该属性的值变为undefined,但对象本身并未从内存中移除。接着,展示了如何通过定义一个destroy方法,传入对象和实例来清除对象的id属性,使得对象变得逻辑上为空。这两种方法都未彻底销毁对象,而是使其部分或全部属性失效。
摘要由CSDN通过智能技术生成

JavaScriptdestroy方法无权访问对象实例。在我们的示例中,我们将看到解决此问题的两种方法。

在一个实例中,我们将介绍delete运算符,在下一个实例中,我们将尝试传递对象及其实例。因此,我们将检查我们的对象及其实例是如何设置的undefined

1.在JavaScript中使用delete操作符销毁对象

一个对象由多个属性作为键值对组成。由于没有将 JavaScript 引入任何会直接使对象消失的功能,因此我们必须从引用中删除属性和相应的值。

因此,在这种情况下,请删除该name属性。让我们看看使用delete运算符的影响。

代码片段:

const Employee = {

  name: "xyz",

  id: 1

};

console.log(Employee.name);

delete Employee.name;

console.log(Employee.name)

;

输出:

可以将后面的Employee.name值可视化为undefined。对象仍然由id属性组成。

如果我们删除该属性,则该对象在逻辑上是空的。但是对象不会从内存中被连根拔起。

尽管如此,该对象不具有过去的任何属性。

2.destroy在JavaScript中使用方法和传递对象实例

我们将启动一个定义destroy方法的类构造函数。在这里,destroy函数获取要操作的对象及其具体实例。

稍后,我们将为对象属性实例化一个实例,并将这个新实例操作为null或消失。

代码片段:

// Class constructor
var Class = function () {
     this.destroy = function (baseObject, refName) {
         delete baseObject[refName];
     };
};
// instanciate
var store = {
  "name":"abc",
  "id":2
};
console.log(store.id);
store.id = new Class();
console.log(store.id);
store.id.destroy(store, "id");
console.log(store.id);

输出:

即使store.id仍然有一个启动,删除操作在参数(对象,实例)被传递到方法new Class()之前并没有开始。destroy这就是对象如何趋向于为空的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值