Object.defineProperty()
方法直接在对象上定义一个新属性并返回该对象。
语法:
Object.defineProperty(obj, prop, descriptor)
参数
Obj:要在其上定义属性的对象。
Prop:要定义或修改的属性的名称。
descriptor:正在定义或修改的属性的描述符。
返回值
此方法返回传递给函数的对象。
浏览器支持
chrome | 是的 |
edge | 是的 |
firefox | 1.5 |
opera | 是的 |
示例
下面介绍一些例子帮助理解该方法的使用。
示例1
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 22, } );
object1.property1;
//抛出script异常
console.log(object1.property1);
输出:
22
示例2
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 42,
value: 52,
value: 542,
});
object1.property1 = 177;
//抛出script异常
console.log(object1.property1);
输出:
542
示例3
const object1 = {};
Object.defineProperty(object1, 'property1', {
value: 2,
value: 4,
value: 4+13,
});
object1.property1 ;
console.log(object1.property1);
输出:
17