微信小程序this的坑

之前做过基于微信小程序的个人商城,微信小程序的许多操作基于异步的处理方式,所以开发的时候对于this关键字必须有个清楚的认识。
我看很多教程或者资料只是说用 var that=this 的方式使用this,并没有说清楚本质原因。
因为微信小程序异步执行的函数其实是回调函数,对于回调函数来说,调用者本身并不是我们写的业务代码,而是系统或者框架进行的调用。所以直接用this会产生问题,this本身是当前调用者对象地址,在异步函数里用this就会产生歧义,此时this是谁?
所以才用一个变量保存this的值,由于js闭包的特性内部类可以用外部类的变量,即可得到正确的指针值指向正确的调用对象。

技术有限,若理解有误,欢迎提出。

猜你喜欢

转载自blog.csdn.net/qq_27617675/article/details/82457666