为了账号安全,请及时绑定邮箱和手机立即绑定

为什么`window.location.reload`不能被回调

为什么`window.location.reload`不能被回调

慕森卡 2019-03-02 09:16:06
为什么window.location.reload不能被回调?        // ▼定义一个函数,它会调用一个回调函数         function fn01 (fn){             fn && fn();         };        function callBackFn(){            console.log('★回调函数执行了★');         };        // ▼开始调用         fn01(callBackFn); //成功         fn01(window.print); //成功         fn01(window.location.reload); //失败【见下图】         //请问这个回调有啥特别吗?为啥不能用于回调-我知道可以用用匿名函数包裹 location.reload 然后可以实现回调这里好奇,为什么不能被回调。谢谢老司机的帮忙,谢谢你前台解答-感谢 `改名字很伤神 ` 的解答 看来果然是 this 变了,如下操作即可解决 fn01(window.location.reload.bind(location));
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

因为this改变了

查看完整回答
反对 回复 2019-03-02
?
ibeautiful

TA贡献1993条经验 获得超5个赞

感谢 改名字很伤神 的解答
看来果然是 this 变了,如下操作即可解决
fn01(window.location.reload.bind(location));

查看完整回答
反对 回复 2019-03-02
  • 2 回答
  • 0 关注
  • 1173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信