history.back()之后的代码会发生什么
What happens to code after history.back()?
我有如下代码:
window.history.back();
myFunction(10);
history.back()
是阻塞/非阻塞呼叫吗?是否保证
myFunction()
将被执行?还是不执行?这是否是
history.back()
异步发生并且是否调用CCD_ 4取决于不可控事件的发生时间?
规范规定history.back
对任务进行排队。
因此,实际的历史操作代码(JS实现内部)将在主事件循环的下一次运行期间执行。您对myFunction
的调用在当前一轮执行中同步执行,因此它将始终在兼容的环境中执行。
但是,只有myFunction
中的同步代码才能保证执行。考虑这个例子:
function myFunction() {
console.log('synchronous');
debugger
setTimeout(function() {
console.log('async');
debugger
})
}
window.history.back();
myFunction();
总是命中第一条调试器语句。第二个是使用setTimeout
延迟到未来的事件循环记号,但不会。
本文很好地解释了JavaScript事件循环
相关文章:
- 有什么工具可以轻松读取javascript代码吗
- 我不知道为什么我的代码是错误的?又有什么错
- 这个代码在网页中的作用和要求是什么
- 什么'这个javascript代码getElementById有问题
- 问号在这段代码中是什么意思
- 什么'这是谷歌分析跟踪代码使用的技术
- 我不知道此代码中的这些符号是什么意思.十进制到二进制
- 此nodeValue替换代码有什么问题
- 什么正在取代我的'以及“;javascript代码中使用'和&”;
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- Javascript Carousel:是什么代码可以显示一些以前的图像
- 我需要添加什么代码,以便此 javascript 自动在文本末尾添加 3 个点
- 我需要什么代码才能让从我的数组中订购的披萨重新出现在不同的函数中
- 这是什么代码/^(d{4}|d{6})$/
- (HTML)链接到一个图像,不确定什么代码关闭图像
- 这是什么代码?{{phrase.addAdministrator}}
- 我应该添加什么代码来使用JavaScript显示以下输出?
- 我需要在这个脚本上编辑什么代码才能获得有效的电子邮件
- 在网站内单击时,将javascript变量(trailimage)交换为另一个需要什么代码
- 如果原型不能访问私有变量,那么“清理”的最佳方法是什么?代码