CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

JavaScript delete 属性的使用

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 delete 属性的使用】的全部内容了,欢迎留言评论进行交流!

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容