標籤:運算式 錯誤 fine obj console end 不能 enc div
delete 操作符是從某個對象上移除指定屬性,成功刪除的時候返回 true ,否則返回 false。
如果刪除的屬性在對象上不存在,那麼 delete 將不起作用,但仍會返回 true。
var person = { age:100, name:"yangguo", } console.log(person.name);//yangguo console.log(delete person.name);//true console.log(person.name);//undefined console.log(delete person.girlfriend);//true 刪除一個不存在的屬性時也會返回 true
不可配置的屬性:當一個屬性被設定為不可設定,delete操作將不會有任何效果,並且會返回false。在strict 模式下會拋出語法錯誤。
var person={};Object.defineProperty(person,"name",{value:"yangguo",configuar:false});console.log(person);//{name: "yangguo"}console.log(delete person.name);//falseconsole.log(person.name);//yangguo
任何使用 var 聲明的屬性 不能從全域範圍和函數範圍中刪除。未使用 var 聲明的屬性將會被刪除
var person = "yangguo";console.log(delete person);//falseconsole.log(person);//yangguo color = "red";console.log(delete color)//trueconsole.log(color);//Uncaught ReferenceError: color is not defined
delete 操作符不能刪除任何在全域範圍中的函數(無論這個函數是來自於函式宣告或函數運算式)
function fun(){};console.log(delete fun);//falseconsole.log(fun);//? fun(){} var func=function(){};console.log(delete func);//falseconsole.log(func);//? (){}
javascript delete操作符