对象详解

Object.prototype.hasOwnProperty():

应用
  通过原型链继承该方法
  判断属性是否是对象自身的

示例

 

 Object.defineProperty() :

descriptor  属性描述符对象:


  数据属性
    1.configurable:表示能否通过delete删除属性从而重新定义属性, 能否修改属性的特性,或者能否把属性修改为访问器属性,默认值为false。
    2.enumerable:表示能否通过for in循环访问属性,默认值为false
    3.writable:表示能否修改属性的值。默认值为false。
    4.value:包含这个属性的数据值。默认值为undefined。


  访问器属性
   

 

 作用:

将对象属性绑定到另一个对象上

 

 

 

 

Proxy:

代理是什么?
  简单理解就是我们不直接对对象、函数或者数组进行操作,而是把它挂载到Proxy(代理)上, 直接对代理的做一系列操作。我们去买房,房产中介就相当于我们的代理,我们不需要直接向卖家沟通。 

JS代理Proxy
  代理是目标对象的抽象。目标对象既可以直接被操作,也可以通过代理来操作。 但直接操作会绕过代理施予的行为。 首先就是空代理,就是什么也不做,在代理对象上执行的所有操作都会无障碍地传播到目标对象。 代理是使用 Proxy 构造函数创建的。这个构造函数接收两个参数:目标对象和处理程序对象。缺少其中任何一个参数都会抛出 TypeError。

捕获器(trap)
  使用代理的主要目的是可以定义捕获器(trap)。捕获器就是在处理程序对象中定义的“基本操作的“拦截器”。 每个处理程序对象可以包含零个或多个捕获器,每个捕获器都对应一种基本操作,可以直接 或间接在代理对象上调用。每次在代理对象上调用这些基本操作时,代理可以在这些操作传播到目标对 象之前先调用捕获器函数,从而拦截并修改相应的行为
  捕获器一共13种 apply 、construct、defineProperty、deleteProperty、 get、getOwnPropertyDescriptor、getPrototypeOf、has、isExtensible ownKeys、preventExtensions、set、setPrototypeOf ,但是比较常见的为以下两种:
  get()


  set()

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值