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 相关文章推荐
functional继承模式 摘自javascript:the good parts
Jun 20 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
js实现简单div拖拽功能实例
May 12 Javascript
基于jQuery实现复选框是否选中进行答题提示
Dec 10 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
Javascript的无new构建实例详解
May 15 Javascript
微信小程序 图片宽度自适应的实现
Apr 06 Javascript
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
微信小程序工具函数封装
Oct 28 Javascript
vue实现输入一位数字转汉字功能
Dec 13 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
Apr 20 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新手上路(九)
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
跟老齐学Python之重回函数
2014/10/10 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
python列表list保留顺序去重的实例
2018/12/14 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
介绍一下linux的文件权限
2012/02/15 面试题
初中化学教学反思
2014/01/23 职场文书
自强之星事迹材料
2014/05/12 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis