delete删除 变量

bennman 2012-09-07 06:21:31
var a = 1; //注意这里是分号,不是逗号
b = 2;
delete a;
delete b;
alert(a); // 1
alert(b); //b被删除了 所以报错

求解释这其中的原委。。。
...全文
272 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
walkman_22 2012-09-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
delete 不能删除具有DontDelete特性的成员
那什么是具有DontDelete特性的成员呢
例如var 申明的变量,函数名申明的函数,Function对象的length等极少数几个拥有DontDelete特性
[/Quote]

学习了
josephSC 2012-09-11
  • 打赏
  • 举报
回复
3楼的网址解释的很清楚,就是有点长
画龙添脚 2012-09-10
  • 打赏
  • 举报
回复
delete 不能删除具有DontDelete特性的成员
那什么是具有DontDelete特性的成员呢
例如var 申明的变量,函数名申明的函数,Function对象的length等极少数几个拥有DontDelete特性
gf05011 2012-09-10
  • 打赏
  • 举报
回复
delete可以删除全局变量(局部变量无法删除),对象的属性。
bennman 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

delete 只能删除对象的属性,
所以delete a后a的值还是1

b没有通过var定义,b = 2等价于window.b = 2,当然delete b等价于delete window.b,所以b会被删除
[/Quote]

var a = 1;
难道a不也是 window.a 么
夕水溪下 2012-09-10
  • 打赏
  • 举报
回复
二楼正解。a不是window的属性,你可以试一下window.a输出的是什么东西
似梦飞花 2012-09-08
  • 打赏
  • 举报
回复
http://www.cnblogs.com/jfp888/archive/2011/06/09/2076127.html
峭沙 2012-09-07
  • 打赏
  • 举报
回复
delete 只能删除对象的属性,
所以delete a后a的值还是1

b没有通过var定义,b = 2等价于window.b = 2,当然delete b等价于delete window.b,所以b会被删除
人生无悔 2012-09-07
  • 打赏
  • 举报
回复
baidu下变量的dont delete属性

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧