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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。