javascript delete操作符

來源:互聯網
上載者:User

標籤:運算式   錯誤   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操作符

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.