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 相关文章推荐
使用js实现按钮控制文本框加1减1应用于小时+分钟
Dec 09 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
Aug 15 Javascript
js Canvas绘制圆形时钟效果
Feb 17 Javascript
JavaScript日期工具类DateUtils定义与用法示例
Sep 03 Javascript
vue滚动插件better-scroll使用详解
Oct 18 Javascript
JS运算符简单用法示例
Jan 19 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 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
example2.php
2006/10/09 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
yii2实现 "上一篇,下一篇" 功能的代码实例
2017/02/04 PHP
php实现映射操作实例详解
2019/10/02 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python实现数据库编程方法详解
2015/06/09 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
幼儿园中班上学期评语
2014/04/18 职场文书
交通文明倡议书
2014/05/16 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
语文教师求职信范文
2015/03/20 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
Hive常用日期格式转换语法
2022/06/25 数据库