欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

JavaScript中对象property的删除方法介绍

时间:2021-08-14 08:29:29|栏目:JavaScript代码|点击:

JavaScript中,可以使用delete操作符来删除对象中的property:


复制代码 代码如下:

var t = {a:42, b:26};
console.log(t);//Object {a=42, b=26}
delete t.a;
console.log(t);//Object {b=26}


这种property删除操作的局限性在于:delete操作符只能删除对象自身所有的property,无法删除其从prototype对象处继承而来的property。如果想删除prototype对象中的property,必须显式获取prototype对象后,在prototype对象中进行操作:


复制代码 代码如下:

var o = {x:1, y:2};
var a = Object.create(o);
a.z = 3;
console.log(a);//Object {z=3, x=1, y=2}
delete a.x;//Can NOT delete inherited property
console.log(a);//Object {z=3, x=1, y=2}
delete a.z;//Can delete own property
console.log(a);//Object {x=1, y=2}
delete a.__proto__.x;
console.log(a);//Object {y=2}


如果删除了prototype对象中的property,那么所有从该prototype对象中继承的对象都会收到影响。

 

对于delete操作的返回值,JavaScript中遵循以下规则:

 

1.如果delete操作成功,返回true。
2.如果delete操作无任何效果(比如要删除的property并不存在),也返回true。
3.如果要delete的property,其configurable属性为false,那么在严格模式下会报TypeError错误,而在非严格模式下则返回false。
如果delete操作符所作用的是全局对象的property,那么在非严格模式下,代码中的全局对象可以省略:

复制代码 代码如下:

this.c = 42;
delete c;//equal to delete this.c;

需要注意的是,在严格模式下,上述写法会抛SyntaxError错误。

上一篇:JS实现点击下拉菜单把选择的内容同步到input输入框内的实例

栏    目:JavaScript代码

下一篇:Bootstrap中的fileinput 多图片上传及编辑功能

本文标题:JavaScript中对象property的删除方法介绍

本文地址:http://www.codeinn.net/misctech/166665.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有