当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。