delete运算符

最近在看《JavaScript权威指南》,遇到delete,以前写代码的时候没用过,现整理书上的内容如下(内容略有删减,内容为手打,可能有部分错误):

delete运算符是个一元运算符,它将删除运算数所指定的对象的属性、数组元素或变
量。如果删除操作成功,它将返回true,如果运算数不能被删,它将返回false。 井非所有的属性和变量都是可以删除的,某些内部的核心属性和客户端属性不 能删除,用var语句声明的用户定义变星也不能被删除。如果delete使用的运算数是一个 不存在的属性,它将返回true下面 是一些使用该运算符 的例子:
    
    
var o={x:1,y:2};
delete o.x; //define a variable;initialize it to an ovject
typeof o.x; //delete one of the object properties;return true
delete o.x; //property does not exist;returns "undefined"
delete o; //can't delete a declared variable; returns false
delete 1; //can't delete an integer; retuns true
x =1; //implicitly declare a variable without var keyword
delete x; //can delete this kind of variable; returns true
x; //runtime error; x is not define
注意,删除属性变量或数组元素不只是把它们的值设置为undefined。当删除一个属 性后,该属性将不再存在。
delete所能影响的只是属性值,并不能影响被这些属性引用的对象,理解这一点很重 要。考虑如下的代码:
    
    
var my = new Object(); //create an object named "my"
my.hire = new Date(); //my.hire refers to a Date Object
ma.fire = my.hire; //my.fire refers to the same object
delete my.hire; //hire property is deleted; returns true
document.write(my.fire); //but my.fire still refers to the Date object

出处:《JavaScript权威指南》 第五版 机械工业出版社 第五章 第10节 P87

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值