var c = 3;
alert(delete c);请问为什么显示的是 false?删除失败

解决方案 »

  1.   

    js中delete运算符是从对象中删除一个属性或者从数组中删除一个元素
    LZ这删除一个变量当然会失败了
      

  2.   

    关于delete 的解释:delete 运算符
    从对象中删除一个属性,或从数组中删除一个元素。delete expressionexpression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。 说明
    如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回 false。在所有其他情况下,返回 true。 
      

  3.   

    某些东西删不掉:var 定义的变量,函数(eval定义的可以删,但定义的函数内部的变量不可删)
    对象的某一属性如果是类的prototype定义的,不可删,因为真正来说此属性并不是对象的,不存在,此时结果为true,但之后仍能调用百度一下有很详细的解释