存在 ext destroy math 操作 type oba keyword
首先,
删除成功返回
- delete
,失败返回
- true
。
- false
- function wxCount($element) {
- this.init($element);
- }
- wxCount.prototype = {
- init: function() {...
- },
- //初始化方法
- count:
- function() {...
- },
- //计算方法
- destroy:
- function() {
- delete this;
- } //删除方法
- }
仔细一看便知,这里的
指向的是
- this
,而在 javascript 中,
- function wxCount()
是无法删除一般的变量或者
- delete
的,永远都会返回
- function
。
- false
- <scripttype="text/javascript">x =1;// 创建全局属性xvar y =2;// var声明,y为变量
- obj = {a :3,b :4
- };// 创建全局对象obj,并有a和b两个成员变量delete x;// returns truedelete y;// returns falsedeleteMath.PI;// returns falsedelete obj.a;// returns truedelete obj.b;// returns truedelete obj;// returns truefunctionf() {var z =5;var obj2 = {c :6,d :7
- }
- obj3 = {e :8
- }delete z;// returns falsedelete obj2;// returns falsedelete obj2.c;// returns truedelete obj3;// returns true
- }</script>
大多数情况下可以理解为:通过变量或者函数声明的属性不能删除。
- x = 150;
- delete x; //return true
- function f() {
- obj = {
- a: 2
- }
- }
- delete obj; //return true
可以理解为全局对象
- x
的一个属性,即
- GLOBAL
,可以删除成功。函数中的
- GLOBAL.x
也被置为全局属性,同理。
- obj
- var x = 150;
- delete x; //return fale
- function y() {}
- delete y; //return false
- deleteMath.PI//reuturn falsefunction (param) {delete param;//return falseconsole.log(param);//1
- }(1);
- function People() {}
- People.prototype.age = 18;
- var Perez = new People();
- Perez.age = 100;
- console.log(Perez.age); //100
- delete Perez.age; //return ture
- console.log(Perez.age); //18
- //返回成功但是并没有什么用,Perez还是会继承原型上的age属性
- delete People.prototype.age;
- console.log(Perez.age); //undefined
- var ipr = ["zhong", "du", "sun", "an", "yuan"];
- delete ipr[4]; //return true
- console.log(ipr); //["zhong","du","sun","an"]
- console.log(ipr.length); //5
- console.log(4 in ipr); //false
- console.log(ipr[4]); //undefined
删除数组中元素,数组长度不会发生变化,但是元素实际不存在数组中了。
- var ipr = ["zhong", "du", "sun", "an", undefined];
- console.log(4 in ipr); //ture
如果将最后个元素置为 undefined,实际还是存在数组中。
关于 delete 更深的问题和兼容性问题,可以参考深入理解 JS 的 delete
JS 中的 delete 操作符
来源: http://www.bubuko.com/infodetail-2135230.html