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
相关用法
- Javascript Int8Array from()用法及代码示例
- Javascript hasOwnProperty()用法及代码示例
- Javascript Uint32Array from()用法及代码示例
- Javascript Unit16Array.from()用法及代码示例
- Javascript Int16Array from()用法及代码示例
- Javascript handler.has()用法及代码示例
- Javascript padEnd()用法及代码示例
- Javascript handler.get()用法及代码示例
- Javascript Reflect.get()用法及代码示例
- Javascript exec()用法及代码示例
- Javascript padStart()用法及代码示例
- Javascript Float32Array.from()用法及代码示例
- Javascript Promise.all()用法及代码示例
- Javascript Int32Array.from()用法及代码示例
- Javascript compile()用法及代码示例
注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 JavaScript | Object.defineProperty() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。