Object.defineProperty()應用程式碼例項

admin發表於2017-04-12

這是ES5新增的方法,它的具體用法可以參閱Object.defineProperty()方法一章節。

本章節不對它的具體概念做介紹,只是分享幾段關於它的幾個程式碼例項。

[JavaScript] 純文字檢視 複製程式碼
var web = {
  webName:"螞蟻部落"
}
Object.defineProperty(web, "webName", {
  writable:false,//只讀
  value:"antzone"//值
})
web.webName = "js教程";
console.log(web.webName);

上面的程式碼設定web物件的webName屬性是隻讀的,所以我們通過defineProperty()方法配置了屬性的value值為"antzone"之後,我們就不能夠再改變此屬性值,所以出書值依然是"antzone"。

[JavaScript] 純文字檢視 複製程式碼
var web = {
  webName:"螞蟻部落"
}
Object.defineProperty(web, "webName", {
  configurable:false,
  writable:false,//只讀
  value:"antzone"//值
})
Object.defineProperty(web, "webName", {
  writable: true,//只讀
})

上面的程式碼設定configurable:false,規定物件已經配置的屬性特性不可重新配置,當我們重新配置writable特性為true的時候會報錯。

[JavaScript] 純文字檢視 複製程式碼
var web = {
  webName:"螞蟻部落"
}
Object.defineProperty(web, "webName", {
  configurable:false,
  writable:false,//只讀
  value:"antzone"//值
})
Object.defineProperty(web, "webName", {
  enumberable:false
})

上面的程式碼中,由於原來沒有顯示的人為配置enumberable特性,所以我們可以配置它。

關於訪問器屬性可以參閱javascript get和set訪問器一章節。

相關文章