delete運算符可以用來刪除對象的屬性。如果對象包含該屬性,那么該屬性就會被刪除,它不會觸及原型鏈中的任何對象。
var p = {
"term" : 1,
"year" : "2014-2015"
};
delete p.term;
delete p.year;
console.log(p.term); //undefined 不存在則返回undefined
console.log(p.year); //undefined
但是,刪除對象的屬性可能會讓來自原型鏈中的屬性透現(xiàn)出來:
var A = {
"term" : 1
}
var p = {
"term" : 1,
"year" : "2014-2015"
};
var B = function(){};
B.prototype = A;
p = new B();
delete p.term;
delete p.year;
console.log(p.term); // 1 暴露了原形鏈中的屬性
console.log(p.year); //undefined 不存在則返回undefined