可能呢再开发的过程中呢使用的不是很多,但是碰上呢可以注意下
1.比如:
var x = 10;
delete x;
console.log(x);
结果是多少,是10,不是异常也不是undefined;
再看:
var person = {
name : "pipi"
}
delete person.name;
console.log(person.name);//undefined
由此可以看出:在javascript中delete方法是删除对象的属性而不能删除变量的
2.顺便看看数组中的删除
var arr = [1,2,3,4,5];
delete arr[0]; //
console.log(arr.toString()); //[,2,3,4,5];
console.log(arr.length); //5
结果会把下标为0 的数字删除掉,而不会减少数组的长度,还会默认占据着
如果要完全删除呢?
var arr = [1,2,3,4,5];
arr.shift(); //这个是从前面开始删除的方法,返回删除的值,长度也会发生变化
console.log(arr.toString()); 2,3,4,5
console.log(arr.length); //4
//====================
arr.pop(); //这个是从后面面开始删除的方法,返回删除的值,长度也会发生变化
console.log(arr.toString()); 2,3,4
console.log(arr.length); //3
3.如果需要删除一个变量或者说一个对象,直接赋值为null
4.引用一句话,来自《你不知道的javascript》
delete只用来删除对象的(可删除)属性,如果对象的某个属性是某个对象/函数
的最后一个引用者,对这个属性执行delete操作之后,这个未引用的对象/函数就可以被垃圾回收。
但是,不要把delete看作一个释放内存的工具(就行C/C++中那样),它就是一个删除对象属性的操作,
仅此而已。