码迷,mamicode.com
首页 > 其他好文 > 详细

this 使用注意点

时间:2017-04-17 21:14:11      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:函数   ima   按钮   回调   http   全局   固定   click   技术   

1) 避免多层this

技术分享

上面代码包含两层this,结果运行后,第一层指向该对象,第二层指向全局对象。一个解决方法是在第二层改用一个指向外层this的变量。

技术分享

上面代码定义了变量that,固定指向外层的this,然后在内层使用that,就不会发生this指向的改变。

2) 避免数组处理方法中的this

数组的map和foreach方法,允许提供一个函数作为参数。这个函数内部不应该使用this。

技术分享

上面代码中,foreach方法的参数函数中的this,其实是指向window对象,因此取不到o.v的值。

 解决这个问题的一种方法,是使用中间变量。

 技术分享

另一种方法是将this当作foreach方法的第二个参数,固定它的运行环境。

技术分享

3) 避免回调中的this

技术分享

上面代码表示,如果调用o对象的f方法,其中的this就是指向o对象。

但是,如果将f方法指定给某个按钮的click事件,this的指向就变了。

 

this 使用注意点

标签:函数   ima   按钮   回调   http   全局   固定   click   技术   

原文地址:http://www.cnblogs.com/queff/p/6724460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!