JavaScript|异步编程

JavaScript|异步编程

1.异步的概念

**异步(Asynchronous, async)是与同步(Synchronous, sync)**相对的概念。在我们学习的传统单线程编程中,程序的运行是同步的(步骤在一个控制流序列中按顺序执行)。而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系。简单来理解就是:同步按你的代码顺序执行,异步不按照代码顺序执行,异步的执行效率更高。异步就是从主线程发射一个子线程来完成任务。

2.回调函数

回调函数就是一个函数,它是在我们启动一个异步任务的时候就告诉它:等你完成了这个任务之后要干什么。这样一来主线程几乎不用关心异步任务的状态了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>异步编程</title>
</head>
<body>

<p>等待4秒过后执行</p>
<p id="p2">太阳</p>
<p id="p3">月亮</p>
<script>
    // 回调函数
    function sayHello(){
        document.getElementById("p2").innerHTML = "Hello!Sun";
    }
    // 使用setTimeout()可以设置sayHello为一个4秒的过程,第一个参数是回调函数,第二个参数是毫秒数
    setTimeout(sayHello,4000);
</script>

</body>
</html>

在这里插入图片描述

等待四秒过后:

在这里插入图片描述

主线程并未停止,body中的内容正常运行,而当4秒回调过后,子函数运行结果就改变了h2的值。


人生没有白走的路,每一步都算数!

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan_Lowe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值