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


Posted in Javascript onDecember 30, 2014

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错误。

Javascript 相关文章推荐
javaScript call 函数的用法说明
Apr 09 Javascript
jquery选择器之内容过滤选择器详解
Jan 27 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
JS动态创建DOM元素的方法
Jun 09 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
Aug 14 Javascript
微信小程序实现页面跳转传值的方法
Oct 12 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
JS实现瀑布流效果
Mar 07 Javascript
JavaScript中检查对象property的存在性方法介绍
Dec 30 #Javascript
JavaScript中遍历对象的property的3种方法介绍
Dec 30 #Javascript
JavaScript语言对Unicode字符集的支持详解
Dec 30 #Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 #Javascript
JavaScript中的对象序列化介绍
Dec 30 #Javascript
JavaScript中的数组特性介绍
Dec 30 #Javascript
JavaScript中数组成员的添加、删除介绍
Dec 30 #Javascript
You might like
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python中__call__用法实例
2014/08/29 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
python求前n个阶乘的和实例
2020/04/02 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
竞选演讲稿范文
2013/12/28 职场文书
学校后勤岗位职责
2014/02/19 职场文书
小学生春游活动方案
2014/08/20 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏