Javascript教程
JavaScript基础
JavaScript Objects
JavaScript BOM
JavaScript DOM
JavaScript OOP
JavaScript Cookies
JavaScript事件
JavaScript异常
JavaScript常用

handler.defineProperty()

JavaScript handler.defineProperty()方法

handler.defineProperty()方法可以定义新属性。它还可以直接在对象上修改现有属性。它是Object.defineProper()的陷阱。此方法可以在两种情况下使用。
当我们要确保跨浏览器对getter和setter的支持时。 每当我们要定义自定义属性访问器时。

语法

defineProperty: function(target, property, descriptor)

参数

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
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4