當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Javascript Object.defineProperty()用法及代碼示例


JavaScript中的Object.defineProperty()方法是一個標準內置對象,它直接在對象上定義一個新屬性並返回該對象。

用法:

Object.defineProperty(obj, prop, descriptor)

參數:此方法接受上述和以下所述的三個參數:



  • Obj:此參數保存將在其上定義用戶的對象的對象。
  • Prop:該參數保存將要定義或修改的屬性的名稱。
  • Descriptor:此參數保存正在定義或修改的屬性的描述符。

返回值:此方法返回作為參數傳遞給函數的對象。

以下示例說明了JavaScript中的Object.defineProperty()方法:

範例1:

<script> 
const geek1 = {}; 
Object.defineProperty(geek1, 'prop1', { 
  value:65, 
  writable:false
}); 
geek1.prop1 = 7; 
console.log(geek1.prop1); 
  
const geek2 = {};   
Object.defineProperty(geek2, 'prop2', {   
      
  value:54,   
  value:23,   
  value:12*9,   
  });   
geek2.prop2 ;   
console.log(geek2.prop2);  
</script> 

輸出:

65
108

範例2:

<script> 
function gfg() { 
} 
  
var result; 
Object.defineProperty(gfg.prototype, "valx", { 
  get() { 
    return result; 
  }, 
  set(valx) { 
    result = valx; 
  } 
}); 
  
var vala = new gfg(); 
var valb = new gfg(); 
vala.valx = 6; 
console.log(valb.valx); 
  
function gfg1() { 
} 
  
gfg1.prototype.valx = 4; 
Object.defineProperty(gfg1.prototype, "valy", { 
  writable:false, 
  value:8 
}); 
  
var vala = new gfg1(); 
vala.valx = 4; 
console.log(vala.valx);  
console.log(gfg1.prototype.valx);  
vala.valy = 2; 
console.log(vala.valy); 
console.log(gfg1.prototype.valy); 
</script> 

輸出:

6
4
4
8
8

支持的瀏覽器:下麵列出了Object.defineProperty()方法支持的瀏覽器:

  • 穀歌瀏覽器
  • Firefox
  • Opera
  • Safari
  • Edge



相關用法


注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript | Object.defineProperty() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。