get方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(严格地说,是操作行为所针对的对象),其中最后一个参数可选。apply方法可以接受三个参数,分别是目标对象、目标对象的上下文对象( this )和目标对象的参数数组。newTarget :创造实例对象时, new 命令作用的构造函数(下面例子2中的 p )apply方法拦截函数的调用、 call 和 apply 操作。construct方法返回的必须是一个对象,否则会报错。args :构造函数的参数对象。