可能呢再开发的过程中呢使用的不是很多,但是碰上呢可以注意下

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++中那样),它就是一个删除对象属性的操作,仅此而已。