怎样让js暂停执行

这次给大家带来怎样让js暂停执行,让js暂停执行的注意事项有哪些,下面就是实战案例,一起来看一下。

JavaScript是一门单线程但是可处理异步任务的脚本语言,是没有提供sleep等类似的方法的,当有需求需要暂停js脚本时,可以使用以下的方法  单线程分析

一:alert,comfirm弹窗暂停

js的alert,confirm弹窗类方法,是可以暂停js脚本执行的

例如:

console.log(1);alert(1);console.log(2);

登录后复制

QQ截图20180316093400.png

QQ截图20180316093405.png

这样弹窗,是需要点击确认才会执行下面的语句的

就算是定时器也一样暂停

var i=0;setInterval(function(){    console.log(i);    i++;    if(i==5){        alert(i);    }},500)

登录后复制

   

QQ截图20180316093423.png

QQ截图20180316093429.png

所以,如果需要暂停的话,可以使用弹窗法暂停脚本,缺点是会影响用户体验

二:while();方法暂停

while方法可以暂停,但是会影响浏览器性能,并且不好控制

var i=0;console.log(new Date());while(i<5000000000){    i++;}console.log(new Date());

登录后复制

QQ截图20180316093448.png

只要控制下while的判断条件,就可以实现暂停了

三,ajax同步请求方法

此方法需要服务器协作才能实现,本人不建议,因为懒,也懒得测试了,

大概步骤就是:ajax同步请求服务器,带上一个参数time,服务器接收之后,sleep(time),到时间再输出,回到ajax回调函数,在这个时间 内,ajax是停止状态的

最后再补充几句,其实js是不能暂停脚本的,上面的方法,只是抢占当前浏览器线程,相当于该线程的某个语句一直还停留在当前浏览器线程,

如:while,当前还未执行完while循环该方法,所以不能退出该线程

不让切换执行,所以实现了暂停

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

用JQ怎么实现右键点击收藏网页

aja的异步上传插件

jQuery实现多层验证后的表单验证

以上就是怎样让js暂停执行的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2782218.html

(0)
上一篇 2025年3月8日 16:27:23
下一篇 2025年3月6日 19:10:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js怎样判断浏览器的信息

    这次给大家带来js怎样判断浏览器的信息,关于js获取各种浏览器信息,例如微信浏览器,qq内置浏览器,电脑火狐浏览器,qq浏览器等等的注意事项有哪些,下面就是实战案例,一起来看一下。 判断手机相关浏览器 if (browser.version…

    编程技术 2025年3月8日
    200
  • JS怎样刷新父页面

    这次给大家带来JS怎样刷新父页面,JS刷新父页面的注意事项有哪些,下面就是实战案例,一起来看一下。 用iframe、弹出子页面刷新父页面iframe parent.location.reload(); 登录后复制 弹出子页面 window.…

    编程技术 2025年3月8日
    200
  • ajax前端的关联数组转json到后台方法

    这次给大家带来ajax前端的关联数组转json到后台方法,ajax前端的关联数组转json到后台的注意事项有哪些,下面就是实战案例,一起来看一下。 很多人碰到过ajax传值时无法直接传数组,而百度的大多数都是不能用的 所以我想到了一个方法:…

    2025年3月8日
    200
  • 让JS自动匹配出proto Js的方法

    这次给大家带来让JS自动匹配出proto Js的方法,JS自动匹配出proto Js的方法的注意事项有哪些,下面就是实战案例,一起来看一下。 在与后端的WebSocket通信时,前端要带一个proto文件是一个累赘的事情。首先是明显的曝光了…

    2025年3月8日
    200
  • 有趣的UglifyJS

    这次给大家带来有趣的uglifyjs,使用uglifyjs的注意事项有哪些,下面就是实战案例,一起来看一下。 也不是闲着没事去看压缩代码,但今天调试自己代码的时候发现有点意思。因为是自己写的,虽然压缩了,格式化之后还是很好辨认。当然作为mi…

    2025年3月8日
    200
  • protobuf.js 与 Long.js的使用详解

    这次给大家带来protobuf.js 与 long.js的使用详解,是急用protobuf.js 与 long.js的注意事项有哪些,下面就是实战案例,一起来看一下。 protobuf.js的结构和webpack的加载之后的结构很相似。这样…

    2025年3月8日
    200
  • JS事件先发布后订阅的方法

    这次给大家带来js事件先发布后订阅的方法,实现js事件先发布后订阅的注意事项有哪些,下面就是实战案例,一起来看一下。 之前写过一个的事件管理器,就是普通的先订阅后发布模式。但实际场景中我们需要做到后订阅的也能收到发布的消息。比如我们关注微信…

    2025年3月8日
    200
  • JavaScript关于IE8兼容问题的处理

    这次给大家带来JavaScript关于IE8兼容问题的处理,JavaScript关于IE8兼容问题处理的注意事项有哪些,下面就是实战案例,一起来看一下。 最初对做兼容性的认知只停留在UI层面,但其实UI层面都还好,因为毕竟你可以直接看得见现…

    2025年3月8日 编程技术
    200
  • JS里特别好用的轻量级日期插件

    这次给大家带来JS里特别好用的轻量级日期插件,使用JS里特别好用轻量级日期插件的注意事项有哪些,下面就是实战案例,一起来看一下。 jquery的日期插件有好几款,H5中的input也可以自带日期选择。但为什么要再写一个,有两个理由,一个是引…

    2025年3月8日
    200
  • JavaScript的事件管理

    这次给大家带来javascript的事件管理,使用javascript的事件管理的注意事项有哪些,下面就是实战案例,一起来看一下。 在设计JavaScript xxsdk的时候考虑到能让调用者参与到工作流程中来,开始用了回调函数。如下: t…

    2025年3月8日
    200

发表回复

登录后才能评论