handler.defineProperty() 方法可以定义新的属性。它还可以直接修改对象上的现有属性。它是 Object.defineProper() 的陷阱。此方法可用于两种情况。
- 当我们想要确保 getter 和 setter 的跨浏览器支持时。
- 每当我们想要定义自定义属性访问器时。
用法
defineProperty:function(target, property, descriptor)
参数
目标:目标对象。
属性:检索到的属性描述。
描述符:正在定义或修改的属性。
返回值
此方法返回一个布尔值
浏览器支持
Chrome | 49 |
Edge | 12 |
Firefox | 18 |
Opera | 36 |
例子1
var target = {}
target.foo = 'bar'
document.writeln(Object.getOwnPropertyDescriptor(target, 'foo'))
输出:
[object Object]
例子2
var xyz = {};
var proxy = new Proxy(xyz, {
defineProperty:function(target, name, propertyDescriptor) {
document.writeln('in defineProperty');
return Object.defineProperty(target, name, propertyDescriptor);
}
});
Object.defineProperty(proxy, 'bar', {} );
输出:
in defineProperty
例子3
var xyz ={};
var hu = {};
var proxy = new Proxy(xyz, {
defineProperty:function(target, name, propertyDescriptor) {
document.writeln('Learn Java Script');
return Object.defineProperty(target, name, propertyDescriptor);
}
});
var pro= new Proxy(hu, {
defineProperty:function(target, name, propertyDescriptor) {
document.writeln('Proxt Method ');
return Object.defineProperty(target, name, propertyDescriptor);
}
});
Object.defineProperty(proxy, 'bar', {} );
Object.defineProperty(pro, 'hug', {} );
输出:
Learn Java Script Proxt Method
相关用法
- JavaScript handler.deleteProperty()用法及代码示例
- JavaScript handler.has()用法及代码示例
- JavaScript handler.get()用法及代码示例
- JavaScript handler.isExtensible()用法及代码示例
- JavaScript handler.construct()用法及代码示例
- JavaScript handler.getPrototypeOf()用法及代码示例
- JavaScript handler.getOwnPropertyDescriptor()用法及代码示例
- JavaScript handler.apply()用法及代码示例
- JavaScript handler.setPrototypeOf()用法及代码示例
- JavaScript handler.ownKeys()用法及代码示例
- JavaScript handler.preventExtensions()用法及代码示例
- JavaScript Uint8Array.of()用法及代码示例
- JavaScript BigInt.prototype.toString()用法及代码示例
- JavaScript DataView.getInt16()用法及代码示例
- JavaScript Symbol.keyFor()用法及代码示例
- JavaScript JSON.stringify()用法及代码示例
- JavaScript Symbol.split属性用法及代码示例
- JavaScript Function.displayName属性用法及代码示例
- JavaScript TypedArray reverse()用法及代码示例
- JavaScript String slice()用法及代码示例
注:本文由纯净天空筛选整理自 JavaScript handler.defineProperty() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。