`
deng131
  • 浏览: 662407 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JavaScript中delete操作符

阅读更多
深入理解JavaScript中delete操作符,特此记录下。

参考:
http://xo-tobacoo.iteye.com/blog/346644
http://xiaolele.iteye.com/blog/682242
http://perfectionkills.com/understanding-delete/
分享到:
评论
6 楼 superobin 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块内的属性也可以删除。。。。。。。。。。)
5 楼 sentryward 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
4 楼 lgzjw 2011-01-07  
内容里有矛盾
var x = 1;
delete x;
在我浏览器里试x是删除了,
可是在博客里说没有删除。
3 楼 boygirl 2011-01-07  
还是总结下,在发布出来吧
2 楼 deng131 2011-01-07  
whaosoft 写道
呃 你这样会被投隐藏的

主要是记录下,慢慢体会。
1 楼 whaosoft 2011-01-07  
呃 你这样会被投隐藏的

相关推荐

    解析JavaScript中delete操作符不能删除的对象

    主要是对JavaScript中delete操作符不能删除的对象进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    Javascript中的delete操作符详细介绍

    主要介绍了Javascript中的delete操作符详细介绍,着重介绍了哪些情况可以使用delete操作符,以有delete操作符的返回值等问题,需要的朋友可以参考下

    JavaScript中诡异的delete操作符

    主要介绍了JavaScript中诡异的delete操作符,本文讲解了删除对象的属性、对数组的操作、对于变量的操作等内容,需要的朋友可以参考下

    JavaScript delete操作符应用实例

    今天在看prototype代码时发现了delete这个操作符 代码如下:unset: function(key) { var value = this._object[key]; delete this._object[key]; return value; } 查了一下手册, delete 运算符 从对象中删除一个属性...

    详解JavaScript中操作符和表达式

    1.delete操作符 delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放 语法:delete expression delete 操作符会从某个对象上移除指定属性。成功删除的时候回返回 true,否则返回 ...

    JavaScript中文参考手册

    JavaScript 有赋值、比较、算术、位、逻辑、字符串和特殊操作符。本章描述了这些操作符,包含了关于操作符优先级的信息。 赋值操作符 比较操作符 算术操作符 % (求余数) ++ (自加) -- (自减) - (一元否定) 位...

    javascript的delete运算符知识点总结

    在本篇文章里小编给大家分享的是关于JS中delete运算符的基础知识点,有需要的朋友们跟着学习下。

    JavaScript语言参考手册

    JavaScript 有赋值、比较、算术、位、逻辑、字符串和特殊操作符。本章描述了这些操作符,包含了关于操作符优先级的信息。 赋值操作符 比较操作符 算术操作符 % (求余数) ++ (自加) -- (自减) - (一元否定) 位操作符 ...

    JavaScript中对象property的删除方法介绍

    JavaScript中,可以使用delete操作符来删除对象中的property: 代码如下: var t = {a:42, b:26}; console.log(t);//Object {a=42, b=26} delete t.a; console.log(t);//Object {b=26} 这种property删除操作的...

    Javascript数组操作高级心得整理

    (1) JavaScript语句结束符 5 (2) JavaScript代码块 5 (3) JavaScript注释 5 (4) JavaScript变量 5  变量命名规则 5  申明或创建变量 5  重新申明变量 5 3. JavaScript运算符 5 (1) 基本运算符 5 (2) 位运算符...

    javascript 显示全局变量与隐式全局变量的区别

    两者的区别在于是否能通过 delete 操作符删除 先看一段代码 var a = 'a'; // 显式声明的全局变量 b = 'b'; // 隐式声明的全局变量 console.log(a); // a console.log(b); // b console.log(window.a); // a console...

    JavaScript中对象介绍

    对象可以通过字面量来直接声明,也可以通过new操作符来新建。与Java语言不同,JavaScript对象中的property是可以动态添加或者删除的;同时,对象中的property还可以是空字符串: 代码如下: //properties in object...

    [removed]void(0)是什么意思及href=#与href=javascriptvoid(0)的区别

    Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下: 1. [removed]void (expression) 2. [removed]void expression expression 是一个要计算的 Javascript 标准的...

    Coffeescript中文手册

    别名和存在操作符 16 类 17 实例属性 18 静态变量 19 继承与Super 20 Mixins 21 扩展类 22 CoffeeScript惯用法 24 Each 24 Map 25 筛选 26 包含 27 属性迭代 28 Min/Max 28 多个参数 29 And/or 29 解构赋值 30 其他...

Global site tag (gtag.js) - Google Analytics