浏览 5450 次
锁定老帖子 主题:JavaScript中delete操作符
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (15)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-03
最后修改:2011-01-03
参考: http://xo-tobacoo.iteye.com/blog/346644 http://xiaolele.iteye.com/blog/682242 http://perfectionkills.com/understanding-delete/ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-07
呃 你这样会被投隐藏的
|
|
返回顶楼 | |
发表时间:2011-01-07
whaosoft 写道 呃 你这样会被投隐藏的 主要是记录下,慢慢体会。 |
|
返回顶楼 | |
发表时间:2011-01-07
还是总结下,在发布出来吧
|
|
返回顶楼 | |
发表时间:2011-01-07
最后修改:2011-01-07
内容里有矛盾
var x = 1; delete x; 在我浏览器里试x是删除了, 可是在博客里说没有删除。 |
|
返回顶楼 | |
发表时间:2011-01-09
lgzjw 写道 内容里有矛盾
var x = 1; delete x; 在我浏览器里试x是删除了, 可是在博客里说没有删除。 全局变量可以delete,局部变量不可以。 var x=1; delete x; alert(x) 这样显示undefined function test(){ var x=1; delete x; alert(x) } 这样执行test显示是1 function test(){ x=1; delete x; alert(x) } 这样执行test显示undefined |
|
返回顶楼 | |
发表时间:2011-01-10
最后修改:2011-01-10
lgzjw 写道 内容里有矛盾
var x = 1; delete x; 在我浏览器里试x是删除了, 可是在博客里说没有删除。 是这样的,如果是全局变量,那么它是全局对象的一个属性(比如在浏览器中,全局的var x;就是在window上声明了一个属性x),任何对该对象的访问可以视为访问全局对象的属性。 故 ,在全局作用域: var x = 1; delete x; 等效于 var x = 1; delete window['x'];//需要环境为浏览器环境,其他环境中global object 不一定是啥哦 所以全局的会被删除。 局部变量不是任何对象的属性,所以delete不会起作用(一定要严格点说的话with块内的属性也可以删除。。。。。。。。。。) |
|
返回顶楼 | |