JavaScript delete 属性的使用


Posted in Javascript onOctober 08, 2009

delete 是删除对象的一个属性,例如对于一个对象,
var obj = {key:5};
delete obj.key就是删除该对象的key属性,这个没什么问题,但当对象的原型prototype对象也存在该属性时,就值得注意了。

var A = function(){}; 
A.prototype.testMe = true; 
var a = new A(); 
//覆盖原型属性 
a.testMe = true; 
if(a.testMe){ 
// 一些关键代码... 
// .... 
//删除这属性 
delete a.testMe; 
} 
//第二段 --------------------------- 
// 在其它模块中 
if(a.testMe){ 
// 一些关键代码... 
// .... 
}

第二段是值得注意的,不要以为a中testMe已尼删除了就不存在了,所以a.testMe就为undefined,即为假,其实它通过原型访问还是存在的,还是true!
这里不留神就中招了。
//附:
检测对象是否存在某属性, 包括原型链的:
if ('attrName' in obj)…
检测对象是否存在某属性,是对象本身的,而非原型链的:
obj.hasOwnProperty('attrName')
Javascript 相关文章推荐
Javascript 中 null、NaN和undefined的区别总结
Apr 10 Javascript
javascript实现可改变滚动方向的无缝滚动实例
Jun 17 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
js实现双击图片放大单击缩小的方法
Feb 17 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
Grunt入门教程(自动任务运行器)
Aug 06 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
npm 语义版本控制详解
Sep 10 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 08 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 Javascript
有效的捕获JavaScript焦点的方法小结
Oct 08 #Javascript
Javascript isArray 数组类型检测函数
Oct 08 #Javascript
JavaScript 监听textarea中按键事件
Oct 08 #Javascript
jquery 最简单的属性菜单
Oct 08 #Javascript
Javascript 日期处理之时区问题
Oct 08 #Javascript
学习ExtJS table布局
Oct 08 #Javascript
学习ExtJS accordion布局
Oct 08 #Javascript
You might like
php 获取百度的热词数据的代码
2012/02/18 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
共享自己写一个框架DreamScript
2007/01/20 Javascript
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
Python中编写ORM框架的入门指引
2015/04/29 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
新员工欢迎词
2014/01/12 职场文书
优秀交警事迹材料
2014/01/26 职场文书
给老师的一封建议书
2014/03/13 职场文书
医学求职自荐信
2014/06/21 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS