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

 更新时间:2014年12月30日 09:40:08   投稿:junjie  
这篇文章主要介绍了JavaScript中对象property的删除方法介绍,本文主要是对delete操作符的介绍,需要的朋友可以参考下

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文件上传的常见问题整理

    这篇文章整理了JavaScript文件上传的常见问题,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 微信小程序实现点击按钮修改文字大小功能【附demo源码下载】

    微信小程序实现点击按钮修改文字大小功能【附demo源码下载】

    这篇文章主要介绍了微信小程序实现点击按钮修改文字大小功能,涉及微信小程序事件绑定及setData动态修改Page页面data数据,进而控制页面元素属性动态改变的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • JavaScript网格中的最小路径讲解

    JavaScript网格中的最小路径讲解

    这篇文章主要介绍了JavaScript网格中的最小路径讲解,所有路径经过的单元格的 值之和 加上 所有移动的 代价之和 。从 第一行 任意单元格出发,返回到达 最后一行 任意单元格的最小路径代价
    2022-06-06
  • js实现本地图片文件拖拽效果

    js实现本地图片文件拖拽效果

    这篇文章主要为大家详细介绍了js实现本地图片文件拖拽效果,拖拽文件到指定位置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • uniapp自定义应用退出执行内容实例代码

    uniapp自定义应用退出执行内容实例代码

    近几日使用uni-app开发移动应用APP遇到了个不常见的需求,下面这篇文章主要给大家介绍了关于uniapp自定义应用退出执行内容的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Vuejs通过拖动改变元素宽度实现自适应

    Vuejs通过拖动改变元素宽度实现自适应

    这篇文章主要介绍了Vuejs通过拖动改变元素宽度实现自适应,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • JavaScript 限制文本框不可输入英文单双引号的方法

    JavaScript 限制文本框不可输入英文单双引号的方法

    这篇文章主要介绍了JavaScript 限制文本框不可输入英文单双引号的方法的相关资料,需要的朋友可以参考下
    2016-12-12
  • javascript 判断整数方法分享

    javascript 判断整数方法分享

    本文介绍了使用javascript判断整数的2种方法中的一种正则判断,因为逐字判断效率太低下了,有相同需求的小伙伴们参考下
    2014-12-12
  • 一文详解JSON.parse和JSON.stringify的用法

    一文详解JSON.parse和JSON.stringify的用法

    Json.stringify()和toString()两者虽然都可以讲目标值转为字符串,但是还是有本质区别的,下面这篇文章主要给大家介绍了关于JSON.parse和JSON.stringify用法的相关资料,需要的朋友可以参考下
    2023-01-01
  • firebug的一个有趣现象介绍

    firebug的一个有趣现象介绍

    在FIREBUG里如果一个对象同时拥有length属性和splice方法,就会被firebug显示为数组的形式
    2011-11-11

最新评论