javascript - 位置更改后javascript如何继续执行
问题描述
<script></script>
考虑在一个简单的 HTML 页面中以块的形式执行以下代码示例。
//synchronous
location.href = 'https://google.com';
console.log('test');
或者
//asynchronous
location.href = 'https://google.com';
setTimeout(() => console.log('test'));
在这两种情况下,在更改位置之前,它仍会在控制台中打印“测试”消息。
为什么会这样?在重置和新的全局 JS 上下文将开始之前,如何准确判断 JS 执行将在当前站点中停止的位置?
它甚至是可确定的过程,还是完全随机的,取决于在新位置加载站点的速度?
解决方案
推荐阅读
- swagger - Swagger 正在渲染一个枚举的值,而不是项目中的所有其他枚举
- scala - 如何计算 2 个列表中元素出现的乘积?
- c# - C# ASPX 页面可以直接访问类方法吗?
- ios - 从哪里获取 Linphone iOS SDK 中录制的通话音频文件
- android - Android NDK.Build 命令失败。未定义参考。clang++:错误:链接器命令失败,退出代码为 1
- bash - 为什么通过 Crontab 启动的脚本表现不同?
- django - 无法解码 pdf (xhtml2pdf) 中的俄语符号
- laravel - 为什么创建进程时会丢失最后一个 ID?
- javascript - TypeError:无法读取 .remove() 上未定义的属性“parentElement”
- angular - 如何使用角材料设计箭头网格