2017年8月9日

摘要: 下面是 Proxy 支持的拦截操作一览。 对于可以设置、但没有设置拦截的操作,则直接落在目标对象上,按照原先的方式产生结果。 (1)get(target, propKey, receiver) 拦截对象属性的读取,比如proxy.foo和proxy['foo']。 最后一个参数receiver是一个 阅读全文
posted @ 2017-08-09 16:23 Lulin1 阅读(504) 评论(0) 推荐(0) 编辑
 
摘要: 概述: Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤 阅读全文
posted @ 2017-08-09 16:17 Lulin1 阅读(148) 评论(0) 推荐(0) 编辑
 
摘要: apply 和 call 这两个方法可以切换函数执行的上下文环境,也就是改变this绑定的对象。apply和call比较类似,区别在于传入参数时一个要求是数组,一个要求是分开传入。所以我们以apply为例: 可以看到,正常访问对象中方法时,this指向对象。使用了apply后,apply无参数时,t 阅读全文
posted @ 2017-08-09 11:47 Lulin1 阅读(99) 评论(0) 推荐(0) 编辑
 
摘要: 在函数内部定义的函数,其this也会指向全局,而和我们希望的恰恰相反。代码如下: 我们会发现不但我们希望的移动呢效果没有完成,反而会多出两个全局变量。那么如何解决呢?只要要进入函数中的函数时将this保存到一个变量中,再运用该变量即可。代码如下: 阅读全文
posted @ 2017-08-09 11:39 Lulin1 阅读(93) 评论(0) 推荐(0) 编辑
 
摘要: 如果箭头表达式仅仅就是简化了函数的命名,我们为什么要改变原来的习惯而去使用它呢?所以我们需要了解一下箭头函数的特性。 箭头函数内部没有constructor方法,也没有prototype,所以不支持new操作。但是它对this的处理与一般的普通函数不一样。箭头函数的 this 始终指向函数定义时的 阅读全文
posted @ 2017-08-09 11:03 Lulin1 阅读(241) 评论(0) 推荐(0) 编辑