Proxy
2019-12-05 09:57:06 0 举报
AI智能生成
ES6-思维导图
作者其他创作
大纲/内容
拦截操作一览(handler)<br>
get(target, propKey, receiver)
拦截对象属性的读取
set(target, propKey, value, receiver)
拦截对象属性的设置
apply(target, ctx(也就是目标对象的this), args)
拦截 Proxy 实例作为函数调用的操作,<br>1、proxy(...args)<br>2、proxy.call(object, ...args)<br>3、proxy.apply(...)
construct(target, args)
拦截 Proxy 实例作为构造函数调用的操作<br>1、new proxy(...args)
has(target, propKey)
拦截<br>1、propKey in proxy的操作
deleteProperty(target, propKey)
拦截<br>1、delete proxy[propKey]的操作
ownKeys(target)
拦截<br>1、Object.getOwnPropertyNames(proxy)、<br>2、Object.getOwnPropertySymbols(proxy)、<br>3、Object.keys(proxy) <br>4、for...in循环<br>返回一个数组
getOwnPropertyDescriptor(target, propKey)
拦截<br>1、Object.getOwnPropertyDescriptor(proxy, propKey)<br>返回属性的描述对象。
defineProperty(target, propKey, propDesc)
拦截<br>1、Object.defineProperty(proxy, propKey, propDesc)<br>2、Object.defineProperties(proxy, propDescs)<br>返回一个布尔值。
preventExtensions(target)
拦截<br>1、Object.preventExtensions(proxy)<br>返回一个布尔值。
getPrototypeOf(target)
拦截<br>1、Object.getPrototypeOf(proxy)<br>返回一个对象
setPrototypeOf(target, proto)
拦截<br>1、Object.setPrototypeOf(proxy, proto)<br>返回一个布尔值
isExtensible(target)
拦截<br>1、Object.isExtensible(proxy)<br>返回一个布尔值
概述
形式
var proxy = new Proxy(target, handler);<br>target:目标对象<br>handler:拦截函数
不生效情况
当目标对象不可写或者不可配置时候<br>大部分拦截函数是无法生效的
0 条评论
下一页