delete in javascript

Key word delete.

1. Delete global object.
x = 42;         // creates the property x on the global object

var y = 43;     // creates the property y on the global object, and marks it as non-configurable

myobj = {

  h: 4,

  k: 5

};



// x is a property of the global object and can be deleted

delete x;       // returns true



// y is not configurable, so it cannot be deleted                

delete y;       // returns false 



// delete doesn't affect certain predefined properties

delete Math.PI; // returns false 



// user-defined properties can be deleted

delete myobj.h; // returns true 



// myobj is a property of the global object, not a variable,

// so it can be deleted

delete myobj;   // returns true



function f() {

  var z = 44;



  // delete doesn't affect local variable names

  delete z;     // returns false

}

 



2. Function
function Foo(){}

Foo.prototype.bar = 42;

var foo = new Foo();



// returns true, but with no effect, 

// since bar is an inherited property

delete foo.bar;           



// logs 42, property still inherited

console.log(foo.bar);



// deletes property on prototype

delete Foo.prototype.bar; 



// logs "undefined", property no longer inherited

console.log(foo.bar);

 

3. Array
var trees = ["redwood","bay","cedar","oak","maple"];

delete trees[3];

if (3 in trees) {

    // this does not get executed

}

var trees = ["redwood","bay","cedar","oak","maple"];

trees[3] = undefined;

if (3 in trees) {

    // this gets executed

}

 

你可能感兴趣的:(JavaScript)