首页前端开发其他前端知识javascript同步是什么意思

javascript同步是什么意思

时间2024-03-25 23:08:03发布访客分类其他前端知识浏览824
导读:今天这篇给大家分享的知识是“javascript同步是什么意思”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“javascript同步是什么意思”文章能帮助大家解决问题。...
今天这篇给大家分享的知识是“javascript同步是什么意思”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“javascript同步是什么意思”文章能帮助大家解决问题。


JavaScript是同步的;JavaScript始终是同步的并且是单线程的,只有在可以进行ajax调用的意义上是异步的;同步表示如果正在页面上执行JavaScript代码块,则该页面上当前将不会执行其他JavaScript。

如何快速入门VUE3.0:进入学习

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

javascript是同步的吗

JavaScript始终是同步的并且是单线程的。

如果您正在页面上执行JavaScript代码块,则该页面上当前将不会执行其他JavaScript。

JavaScript仅在可以进行Ajax调用的意义上是异步的。

Ajax调用将停止执行,其他代码将能够执行,直到调用返回(成功或其他)为止,此时回调将同步运行。此时将不会再运行其他代码。它不会中断当前正在运行的任何其他代码。

JavaScript计时器与此相同类型的回调一起运行。

将JavaScript描述为异步可能会引起误解。准确地说JavaScript是同步的且具有各种回调机制的单线程。

jQuery在Ajax调用上有一个选项可以使它们同步(带有该async: false选项)。初学者可能会不正确地使用它,因为它允许使用一种更传统的编程模型,而这种模型可能会更习惯。有问题的原因是此选项将阻止页面上的 所有

JavaScript,直到完成为止,包括所有事件处理程序和计时器。

扩展知识

Javascript语言是一门单线程的语言

单线程和异步确实不能同时成为一个语言的特性。js选择了成为单线程的语言,所以它本身不可能是异步的。因为浏览器只分配给js一个主线程,用来执行那些函数,一次只能执行一个,这些任务形成一个任务队列排队等候执行,但前端的某些任务是非常耗时的,比如网络请求,定时器和事件监听,如果让他们和别的任务一样,都老老实实的排队等待执行的话,执行效率会非常的低,甚至导致页面的假死。

JavaScript单线程如何实现异步效果

所以,浏览器为这些耗时任务开辟了另外的线程,主要包括http请求线程,浏览器定时触发器,浏览器事件触发线程。宿主环境(浏览器)通过事件驱动方式使得js具备了异步的属性 。

所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有等主线程任务执行完毕,"任务队列"开始通知主线程,请求执行任务,该任务才会进入主线程执行。

CPU忙不过来,倒也算了,但是很多时候CPU是闲着的,因为IO设备(输入输出设备)很慢(比如Ajax操作从网络读取数据),不得不等着结果出来,再往下执行。

具体来说,异步运行机制如下:

所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。

主线程之外,还存在一个"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。

一旦"执行栈"中的所有同步任务执行完毕,系统就会读取"任务队列",那些的异步任务,进入执行栈,开始执行。

主线程不断重复上面的第三步。


通过以上内容的阐述,相信大家对“javascript同步是什么意思”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

JavaScript

若转载请注明出处: javascript同步是什么意思
本文地址: https://pptw.com/jishu/653099.html
用html语言编写网页实现超级链接的标记是什么 Java中怎样实现对图像压缩处理,方法是什么

游客 回复需填写必要信息