js this指向问题

js this指向问题
这么写的话此时打印的this是undefined,把success的回调改成箭头函数就可以打印出this,求解释,感谢各位


回答:

function 的 this 和箭头函数的 this 有不同的指向规则,箭头函数使用其定义环境的中的 this。

至于 function 的时候为什么 this 是 undefined,这个取决于 wx.getStorage 是怎么调用的。一般情况下,回调就是直接调用,而不是绑定对象或者作为方法调用,那么 this 在 strict 模式下是 undefined,非 strict 模式下是全局对象(比如 window)。

来看这篇:JavaScript 的 this 指向问题深度解析


回答:

函数this指向要看函数具体是这么调用的,你这里没给出来,因为这里函数的调用是wx里面封装的,不过一般这种封装调用都是

let succesFn = option.success

succesFn && succesFn(resulte)

此时函数的调用是无主的,严格模式下会指向undefined,而换用箭头函数,箭头函数没有this,他里面的this相当于一个变量,会向上层作用于查找

以上是 js this指向问题 的全部内容, 来源链接: utcz.com/p/937179.html

回到顶部