本帖最后由 renzaijiang 于 2009-08-01 20:56:48 编辑

解决方案 »

  1.   

    delete 运算符
    从对象中删除一个属性,或从数组中删除一个元素。delete expression
    expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。说明
    如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回 false。
    在所有其他情况下,返回 true。 example:
    var arr = [1,2,3];
    var arrItem = arr[1];
    var obj = {a:'a', b:'b'};
    var objItem = obj.a;delete arr[1];
    alert(arrItem);//这里输出2
    alert(arr[1]);//这里输出undefined
    alert(arr.length);//这里输出3delete obj.a;
    alert(objItem);//这里输出a//说明:可见,delete删除的仅仅是数组或对象中对其成员的引用
    //特别需要注意的是,数组delete后length仍然不变var objKeys = [];
    for(var k in obj)objKeys.push(k);
    alert(objKeys);//这里输出b
    //说明:delete删除对象成员后,无法被遍历