javascript异步是什么意思

在JavaScript中,异步的意思是不按照代码顺序执行,一个异步过程的执行将不再与原有的序列有顺序关系,程序的执行顺序与任务的排列顺序是不一致的,可以理解为异步就是从主线程发射一个子线程来完成任务。

javascript异步是什么意思

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript异步是什么意思

异步的概念

异步(Asynchronous, async)是与同步(Synchronous, sync)相对的概念。

立即学习“Java免费学习笔记(深入)”;

在我们学习的传统单线程编程中,程序的运行是同步的(同步不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行)。而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系。

简单来理解就是:同步按你的代码顺序执行,异步不按照代码顺序执行,异步的执行效率更高。

以上是关于异步的概念的解释,接下来我们通俗地解释一下异步:异步就是从主线程发射一个子线程来完成任务。

10.png

什么时候用异步编程

前端编程中(甚至后端有时也是这样),我们在处理一些简短、快速的操作时,例如计算 1 + 1 的结果,往往在主线程中就可以完成。主线程作为一个线程,不能够同时接受多方面的请求。所以,当一个事件没有结束时,界面将无法处理其他请求。

现在有一个按钮,如果我们设置它的 onclick 事件为一个死循环,那么当这个按钮按下,整个网页将失去响应。

为了避免这种情况的发生,我们常常用子线程来完成一些可能消耗时间足够长以至于被用户察觉的事情,比如读取一个大文件或者发出一个网络请求。因为子线程独立于主线程,所以即使出现阻塞也不会影响主线程的运行。但是子线程有一个局限:一旦发射了以后就会与主线程失去同步,我们无法确定它的结束,如果结束之后需要处理一些事情,比如处理来自服务器的信息,我们是无法将它合并到主线程中去的。

为了解决这个问题,JavaScript 中的异步操作函数往往通过回调函数来实现异步任务的结果处理。

JS的异步请求和异步加载

异步请求:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

例子:当用户填写完一条信息后,该信息会自动向服务器提交,然后服务器响应客户端,在此过程中,用户依然在填写表格的信息,即向服务器请求多次,节省了用户的时间,提高了用户的体验。

异步加载:默认的js是同步加载的,(这里的“加载”可以理解成是解析、执行)。异步的JS就是指在加载这条JS代码的同时,继续执行下面的js。

举个例子:比如这段代码,

 console.log('hello world');

登录后复制

我们的要求似乎很简单,能在页面加载的同时,在控制台输出字符串即可,再讲的通俗一点,就是在请求第一段谷歌提供的js的同时,继续执行下面的js,也就是实现js的异步加载。

相关推荐:javascript学习教程

以上就是javascript异步是什么意思的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月11日 21:32:20
下一篇 2025年3月10日 15:03:17

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

相关推荐

  • javascript怎样实现点击加一

    方法:1、给按钮元素绑定click点击事件,并指定时间处理函数;2、在事件处理函数中,利用“++”递加运算符实现计算加一效果,语法为“指定元素对象.value++;”。 本教程操作环境:windows10系统、javascript1.8.5…

    2025年3月11日
    000
  • javascript怎样判断是否空值

    方法:1、用“if(变量==null||变量==””||变量==undefined){判断为空代码}”语句进行null、空、undefined情况判断;2、用“变量.replace(/s/g,”&#822…

    2025年3月11日 编程技术
    200
  • JavaScript构造器是什么

    在JavaScript中,构造器是一个当新建对象的内存被分配后,用来初始化该对象的一个特殊函数,对象构造器是被用来创建特殊类型的对象,在对象初次被创建时,通过接收参数,用来对成员的属性和方法进行赋值。 本教程操作环境:windows10系统…

    2025年3月11日
    200
  • javascript语法基本要素是什么

    javascript语法基本要素是值、运算符、表达式、关键词和注释;javascript每条语句是以分号结束,如果一条语句占一行,可以不用写分号。 本文操作环境:Windows7系统、javascript1.8.5版、DELL G3电脑 J…

    2025年3月11日
    200
  • 什么是javascript函数库

    javascript函数库是指用于Javascript语言开发的库,多应用在网页DOM、AJAX、CSS的领域,可以帮助网页开发者用更快速地撰写网页,例如有些JavaScript库提供精简化的DOM操作函数或解决跨浏览器问题等。 本文操作环…

    2025年3月11日
    200
  • javascript表达式有哪些

    javascript表达式有:1、算术表达式;2、字符串表达式;3、主要表达;4、数组和对象初始化器表达式;5、逻辑表达式;6、左侧表达式;7、属性访问表达式;8、对象创建表达式;9、函数定义表达式;10、调用表达式等。 本文操作环境:Wi…

    2025年3月11日
    200
  • ajax是js吗

    ajax不是js。js全称JavaScript,是一种编程语言;而ajax不是编程语言,是基于javascript的一种用于创建快速动态网页的技术,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 本教程操作环境:window…

    2025年3月11日
    200
  • javascript怎样去掉class

    方法:1、利用“document.getElementsByTagName(“元素”)”语句获取需要去掉class的元素对象;2、利用“元素对象.removeAttribute(“class”…

    2025年3月11日
    200
  • javascript有val方法吗

    在JavaScript中有val()方法,该方法可以返回第一个匹配元素的value属性值,或者设置所有匹配元素的value属性值,语法为“$(selector).val()”或者“$(selector).val(value)”。 本教程操作…

    2025年3月11日
    200
  • javascript怎么求众数

    javascript求众数的方法:1、新建一个数组;2、把每个值出现的次数都统计起来;3、遍历这个数组,找到众数即可。 本文操作环境:Windows7系统、javascript1.8.5版、DELL G3电脑 javascript怎么求众数…

    2025年3月11日
    200

发表回复

登录后才能评论