js异步机制,能用js异步执行的原理解释下面代码执行顺序吗? 10C

点击事件:
<//div class="login-btn”>
《el-button type="primary" @click="submitForm('ruleForm');test()">登录 《/div》
点击事件绑定的函数:
submitForm(formName){
console.log("#################################");
window.location.href="www.baidu.com";
setInterval(function(){alert("Hello")},0);
for(let i=0;i console.log(i+"****************");

},
test(){
for(let i=0;i alert(i);
}
},
测试执行顺序为:
1. console.log("#################################");
2. for(let i=0;i console.log(i+"****************");

3 . for(let i=0;i alert(i);
}
4. setInterval(function(){alert("Hello")},0);//执行>=1次
5 . window.location.href="www.baidu.com";
各位大佬,能用js异步执行的原理解释下面代码执行顺序吗?其中window.location.hrefsh是异步的吗?感激不尽!!!!

5个回答

setInterval(function(){alert("Hello")},0); 这是唯一一句异步的代码,在定时器到时间的时候执行。别的都是顺序执行
window.location.href="www.baidu.com"; 这个其实是在console.log("#################################"); 后面就执行的,但是因为加载需要时间,你看上去切换到baidu是最后。

zqbnqsdsmd
zqbnqsdsmd 这个是正解!
一年多之前 回复
u010603891
岁月抹平了我的小脾气 回复caozhy: 能解释一下疑问2吗,执行跳转前为什么执行flushCallbacks ()函数,之后还有执行task.js?执行过程很像js异步机制啊?
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复u010603891: 这个要看你浏览器了。好比你刷新页面,但是页面还没有更新的时候,你还是可以点现有页面上的链接,但是能执行多少就不好说了。
一年多之前 回复
u010603891
岁月抹平了我的小脾气 回复showbo: 我有一下几个疑问:1.window.location.href="www.baidu.com"后跟一个很长的循环,在循环500多次后发生跳转,但跳转后循环代码会继续执行。2.在debugger跟踪代码时发现,z在执行跳转前会执行一个callback函数:function flushCallbacks () { pending = false; var copies = callbacks.slice(0); callbacks.length = 0; for (var i = 0; i < copies.length; i++) { copies[i](); } }。这些事为什么。能解释一下原理吗????
一年多之前 回复
showbo
支付宝加好友偷能量挖 location是跳转,不是什么异步不异步的,这种不可控的代码不要写,后续的代码是否会执行谁也不知道浏览器怎么处理的
一年多之前 回复

window.location.href 语句是实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面。严格意义上来说,javascript没有多线程的概念,所有的程序都是单线程依次执行的。

u010603891
岁月抹平了我的小脾气 仔细想想你的答案挺有道理的,但也有人解释说1.href有效级低于onclick事件,2.代码执行过程中遇到异步的东西,浏览器就会拦截新开窗口,先执行异步代码。这?
一年多之前 回复

window.location.href="xx"这个当然是异步的,如果不信你可以用下面代码测试:
window.location.href="xx"
alert(3);//当前页面弹出
结果是先弹出alert在进行跳转,如果window.location.href是同步的话,alert根本没机会执行。
另外
window.location.href="xx1"
window.location.href="xx2"
查看浏览器地址栏显示的是xx2,如果是同步,那么会跳转到xx1页面,怎么还会有机会执行xx2的跳转呢?
希望帮到你

zqbnqsdsmd
zqbnqsdsmd window.location.href="xx"和js根本是两个不同的东西,根本不是异步
一年多之前 回复
u010603891
岁月抹平了我的小脾气 能用js异步机制解释一下它的执行吗,比如什么时候加入任务队列
一年多之前 回复

回复u010603891:单线程指的是在一个浏览器进程中只存在一个 Javascript 执行线程,但实际setTimeout的异步处理是依靠宿主(浏览器)的线程去进行时间计数,定时器线程在定时时间触发延时事件并将延时事件推入 Javascript 事件队列,当 Javascript 主线程同步代码执行完毕时,会去轮询该事件队列,取出最开始事件的处理函数推入主线程中被执行。因此可想而知window.location.href也是有宿主浏览器去执行,所有是异步的

window.location.href="xx"和js根本是两个不同的东西,根本不是异步

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js异步请求中的回调函数是可选的吗?小白问题
-
关于js回调函数和同步异步的问题
-
javascript异步编程和单线程之间的一些疑惑
-
请教JS达人:JavaScript的单线程和AJAX的异步操作是神马情况啊?
-
js异步函数回调嵌套的相关问题
-
JSsetTimeout函数与fs.readfile函数异步执行顺序问题
-
请问:怎么样在ajax中异步调用页面并执行调用页里的JS
-
在js中回调写入了一个新的异步函数,为什么不执行
-
异步加载js的问题,为什么能异步加载
-
js async.waterfall 异步嵌套执行函数体跑飞异常问题
-
(非ajax)能不能设置js的同步异步方式?
-
请问有什么方式让js 代码在服务器端执行?
-
为什么javascript异步函数一定要用回调的方式?
-
火狐浏览器下js代码不执行,需要设置settimeout才可以
-
表单提交与JS异步请求冲突吗?
-
JS中怎样等待异步调用完成再执行后面的同步操作?
-
Ext.Msg.alert 的异步
-
在js里动态添加图片是异步加载吗?
-
关于Node.js等待异步返回结果的问题。
-
Linux文件操作高频使用命令
文章目录0.新建操作:1.查看操作2.删除操作3.复制操作4.移动操作:5.重命名操作:6.解压压缩操作 0.新建操作: mkdir abc #新建一个文件夹 touch abc.sh #新建一个文件 1.查看操作 查看目录: ll #显示目录文件详细信息 查看文件内容: cat|head|tail命令 cat abc.txt #查看abc的内容 head -5 abc.txt #...
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、算法 11、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收...
我的 Input框 不可能这么可爱
作者:陈大鱼头 github: KRISACHAN &lt;input /&gt; 标签是我们日常开发中非常常见的替换元素了,但是最近在刷 whattwg 跟 MDN 的时候发现 跟 &lt;input /&gt; 有很多相关的属性,选择器都没怎么用过,所以就开篇文章来整理一下一些比较有趣或者实用的知识点。 本篇文章默认大家已经知道 &lt;input /&gt; 标签的基本用法,不会做过...
BMP、GIF、TIFF、PNG、JPG和SVG格式图像的特点
目录 1、BMP格式图像 2、GIF格式图像 3、TIFF格式图像 4、PNG格式图像 5、JPG格式图像 6、SVG格式图像 7、总结 7.1、有损vs无损 7.2、索引色vs直接色 7.3、点阵图vs矢量图 7.4、总结 一张图片可以储存为多种格式,为什么有的几十KB,有的几百MB,有的静止不动,有的是好几个画面循环播放?在项目开发的过程中经常会读取或保存图像...
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
文章目录前言一、nginx简介1. 什么是 nginx 和可以做什么事情2.Nginx 作为 web 服务器3. 正向代理4. 反向代理5. 动静分离6.动静分离二、Nginx 的安装三、 Nginx 的常用命令和配置文件四、 Nginx 配置实例 1 反向代理五、 Nginx 配置实例 2 负载均衡六、 Nginx 配置实例 3 动静分离七、 Nginx 的高可用集群 前言 一、nginx简介...
MySQL数据库—SQL汇总
一、准备 下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql: 链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&amp;shfl=sharepset 密码: fc2h 为了方便查阅可从右侧目录快速索引 二、DQL(Data Query Language)数据查询语言 1、语句顺序 书写顺序...
动画:用动画给女朋友讲解 TCP 四次分手过程
作者 | 小鹿 来源 | 公众号:小鹿动画学编程 写在前边 大家好,我们又见面了,做为一个业余的动画师,上次的用动画的形式讲解 TCP 三次握手过程再各大平台收到了广大读者的喜爱,说文章有趣、有货、有内容,也受到了很多读者的关注。很多读者留言说什么时候用动画讲一讲 TCP 四次挥手的过程,为了应大家的要求,今天我们就生动有趣的用动画给大家分享 TCP 四次挥手(分手)过程。 动画:用动画给...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
面试最后一问:你有什么问题想问我吗?
尽管,我们之前分享了这么多关于面试的主题: 高薪必备的一些Spring Boot高级面试题 面试必问:设计模式遵循的面向对象设计原则! 面试必问:怎么保证缓存与数据库的双写一致性? 27道高频Spring面试题,你能答对几个? 唠唠面试常问的:面向对象六大原则 一文高效图解二叉树面试题 Java面试中最高频的那20%知识点是什么? 百度面试题:求数组最大值 ... 然而,最后这个90%可见...
python 程序员进阶之路:从新手到高手的100个模块
在知乎和CSDN的圈子里,经常看到、听到一些 python 初学者说,学完基础语法后,不知道该学什么,学了也不知道怎么用,一脸的茫然。近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python 学到什么程度可以面试工作?》,真实反映了 python 程序员在成长过程中的一些困惑。
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
2019计算机视觉-包揽所有前沿论文源码
大家是否遇到过这种情况,就是在工作或者学习的时候,想去某些方向的网络,但是呢,尴尬的是,老旧的网络里不想要,前沿的网络又不知道有哪些。为了解决大家的这个困扰,本人收集了2019年大部分前沿的网络相关链接,之后我会没周一更新一次(明年会开启2020的收集博客) 有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 一、目标检测 (1)...
阿里编程规范(精简版)
阿里编程规范 及 阿里Java开发规约插件 Alibaba Java Coding Guidelines 统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。 2017年年初,首次公开了《阿里巴巴Java开发手册》,自从第一个版本起,倍受业界关注。为了让开发者更加方便、快速的将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(...
MySQL常用命令/用户管理/数据库备份与恢复
MySQL密码设置与更改: 设置root用户密码: [root@linux ~]# mysqladmin -uroot password "123456" 更改root用户密码: [root@linux ~]# mysqladmin -uroot -p'123456' password '654321' 登录数据库更改密码: MariaDB [(none)]&gt; use mysql; Ma...
漫话:什么是 https ?这应该是全网把 https 讲的最好的一篇文章了
今天这篇文章,讲通过对话的形式,让你由浅入深着知道,为什么 Https 是安全的。 一、对称加密 一禅:在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。如图: 当然,如果客户端要给服务器发送数据,也是采用这把密钥来加密,这里为了方便,我采用单方向...
HTML CSS整理笔记
常见字体单位: 1.em 移动端常用的字体尺寸单位,说白em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5。 但当div进行嵌套时,em始终按当前div继承的字体大小来缩放。 2.rem r是root的意思,即相对于根节点html的font-size进行缩放,当有嵌套关系时,嵌套关系的元素的字体大小始终按照根节点的字体大小...
史上最全的mysql基础教程
启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server resta...
为什么你学不会递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
C++实现贪吃蛇代码
C语言实现贪吃蛇,有点难写啊。 我是用VS写的 代码里有注释 我就不多说了 大家也可以直接去下载我的可执行文件 #include&lt;stdio.h&gt; #include&lt;time.h&gt; #include&lt;windows.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; #define mapheigh...
大学四年,分享看过的优质书籍
数据结构与算法是我在大学里第一次接触到的,当时学了很多其他安卓、网页之类的,一开始就感觉纳闷,数据结构和算法学这个有啥用,再加上上的是一所野鸡大学,老师讲的也是模模糊糊,平时做项目、练习也几乎不用数据结构,所以考试应付应付就过了,也没太在意。 到了大三的时候,面临考研和就业了,突然看到学长考研的数据结构题和面试网站的要求,突然意识到数据结构和算法的重要性,真的很重要,重要的话说三遍,真的很重要,...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符