var a = 1;   //注意这里是分号,不是逗号
    b = 2;
delete a;
delete b;
alert(a); // 1
alert(b); //b被删除了 所以报错求解释这其中的原委

解决方案 »

  1.   

    baidu下变量的dont delete属性
      

  2.   

    delete 只能删除对象的属性,
    所以delete a后a的值还是1b没有通过var定义,b = 2等价于window.b = 2,当然delete b等价于delete window.b,所以b会被删除
      

  3.   

    http://www.cnblogs.com/jfp888/archive/2011/06/09/2076127.html
      

  4.   


    var a = 1;
    难道a不也是  window.a 么
      

  5.   

    delete可以删除全局变量(局部变量无法删除),对象的属性。
      

  6.   

    delete 不能删除具有DontDelete特性的成员
    那什么是具有DontDelete特性的成员呢
    例如var 申明的变量,函数名申明的函数,Function对象的length等极少数几个拥有DontDelete特性
      

  7.   

    二楼正解。a不是window的属性,你可以试一下window.a输出的是什么东西