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

window.location.href有什么机制吗?

window.location.href有什么机制吗?

千万里不及你 2018-08-23 21:54:19
(function(){window.location.href= 'www.baidu.com'alert('23')console.log(123)}())为什么先弹出123 再console呢? 在ajax中也是,window.location.href 不跳转?求解这里面是有什么机制吗?
查看完整描述

2 回答

?
慕运维8079593

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

window.location.href不会立即就阻塞所有的代码,这和alert不一样,它至少会等待一个页面离开事件,那么在同时,代码会往下执行。

alert阻塞当前代码,这个没啥好问的吧,规定就是这样,alert,confirm和prompt都是同步的,所以后面的代码都会被阻塞。

ajax中的location.href不跳转?

问得不清楚,我查了类似的关键字,这是你要的说法,Artical,没啥难理解的,submit的重定向在success回调之前。

如果你说的不是这种情况,建议补充一下问题


查看完整回答
反对 回复 2018-08-26
?
海绵宝宝撒

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

是异步的
因为 LocationChange 行为在浏览器内核中是起定时器异步执行的,代码可以参见 Chromium 源码 NavigationScheduler::ScheduleFrameNavigation。异步执行的好处是为了防止代码调用过深,导致栈溢出,另外也是为了防止递归进入加载逻辑,导致状态紊乱,保证导航请求是顺序执行的。

知乎上的答案


查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 4075 浏览
慕课专栏
更多

添加回答

举报

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