image.png
这里的this就是那个元素div,是函数call的时候传的第一个参数——我们的需求是,当div被点击的时候,调用view里的onClick方法,但是这里是错的,是调不了的
同样的如果this.element.onClick = this.onClick是调用不了的,this是指那个div不是指view
那this.element里的this呢?是那个view
如何解决?方法一如下
image.png
方法二:用bind方法
image.png
这个bind返回一个新函数,这个新函数会把前面的this.onClick包起来
等价于
image.png
image.png
image.png
call 和 apply 是直接调用函数,而 bind 则是返回一个新函数(并没有调用原来的函数),这个新函数会 call (或apply)原来的函数,call(或apply) 的参数由你指定。
网友评论