首页 > 编程知识 正文

java删除对象的某个属性,java手动释放对象

时间:2023-05-05 18:27:15 阅读:147353 作者:1937

delete运算符删除对象的属性。 该操作数必须是属性访问表达式。

var book={

' author':'wsdsb ',

' main title':'This a boy '

(;

delete book.author; //book中不再有属性author

delete book['main title'] //book中不再有属性main title

delete运算符只能删除对象的自己的属性,不能删除从原型继承的属性。 要删除继承属性,必须将其从该对象的原型中删除。

出乎意料的是,delete只会中断属性与主机对象之间的联系,而不会处理属性的属性。

var obj={x:{x1:0}};

var obj2=obj.x;

delete obj.x;

控制台. log (obj2. x1; 返回//0

运行此代码后,obj2.x1的值仍然为0; 由于删除的属性引用仍然存在,因此在某些JavaScript实现中,这些不严格的代码可能会导致内存泄漏。 因此,在废弃对象时,遍历属性中的属性并依次删除。

delete不能删除不可配置的属性。 使用var创建的属性是不可配置的属性,例如

var str='JavaScript ';

delete this.str; //报告错误或返回false

this.str2='HTML5';

delete this.str2; str2是可配置的属性,可以使用delete删除

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。