[暑假]Js执行机制

新出的智谱GLM-4.7很牛逼? Zhipu AI(智谱)最近发布的 GLM-4.7 再次刷新了开源大模型的天花板。作为一款约 400B 参数规模的 MoE 模型,它不仅在传统的代码与推理任务上超越了 DeepSeek-V3.2 和 Kimi-K2 等强力对手,更通过**“保留思考(Preserved Thinking)”和“交错思考(Interleaved Thinking)”**等架构级创新,重新定义了 Agentic Workflow 的设计范式。 阅读详情

1. JS是单线程

JavaScript语言的一大特点就是单线程, 也就是说, 同一个时间只能做一件事. 这是因为 JavaScript这门脚本语言的创造时候的初衷导致的==> 因为JavaScript是为了处理页面中用户的交互, 以及操作DOM而诞生的. 比如我们对某个DOM元素进行添加和删除操作, 不能同时进行. 应该先进行添加, 之后再删除.

                进一步解释单线程:

                        单线程就意味着, 所有任务都需要排队, 前一个任务结束, 后一个才会执行. 这样会导致的问题: 如果JS执行时间过长, 这样就会造成页面渲染不连贯, 导致页面渲染加载阻塞的感觉.

2.为了解决单线程的弊端:

        利用多喝CPU的计算能力, HTML5提出了 Web Worker标准, 允许JavaScript脚本创建多个线程. ==>  所有 JS中出现了 同步和异步

                进一步解释 什么是同步?什么是异步?

同步: 前一个任务结束后再执行下一个任务, 程序的执行顺序与任务的排列顺序是一致的, 同步的. 

异步: 当我们在执行一个任务的时候,这个任务会花费很长时间, 所以在做这件事的同时, 我们还可以去处理其他的任务.

3. 解释什么是同步任务和异步任务:

同步任务:

        同步任务都是在主线程上执行, 形成一个执行栈

异步任务:

        JS的异步是通过回调函数实现的.

一般异步任务分为三种类型:

        1).普通事件. 比如click, resize等等

        2) 资源加载, 如 load,error等等

        3) 定时器, 包括 setInterval, setTimeout等等

异步任务相关回调函数添加到任务队列中 (任务队列也可以称为消息队列)

例子:

        其中首先执行同步任务 任何执行异步任务

        ↓   ↓   ↓ 中的代码

                console.log(1);

                setTimeout(fn, 0);

                console.log(2);   这三个为同步任务

        function() { console.log(3)};  为异步任务

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        console.log(1);

        setTimeout(function () {
            console.log(3);
        }, 0);

        console.log(2);

    </script>
    
</body>
</html>

 

4.JS的执行机制理解:

                第一步 先执行执行栈中的同步任务

                第二步 异步任务(回调函数) 放入任务队列中

                第三步 一旦执行栈中的所有同步任务执行完毕, 系统就会按次序读取 任务队列 中的异步任务, 于是被读取的异步任务结束等待状态, 进入执行栈, 开始执行.

       进一步解释:

                同步任务放到执行栈中

                异步任务放到任务队列中

 

 

3.详解Labview串口通讯--从串口线连接到串口通讯保姆级教程 本文非常详细的介绍了使用Labview实现串口通讯,读完题主这篇文章,即使你是今天刚下载的Labview,也能熟练的连接并驱动串口执行,接下来和我一起学习下,记得关注并点赞不迷路 阅读详情

相关推荐

一个测试工程师走进一家酒吧……

一个测试工程师走进一家酒吧,要了一杯啤酒;一个测试工程师走进一家酒吧,要了一杯咖啡;一个测试工程师走进一家酒吧,要了 0.7 杯啤酒;一个测试工程师走进一家酒吧,要了-1 杯啤酒;一个测试...

字节跳动技术团队官方博客 4887

暑假总结

白驹过隙,暑假一下子就过去了,在这个暑假中学到了很多东西,下面就详细说一说。 先是学习了前端三件套——html、css、JavaScript 但是学起来发现里面大有学问,就比如css,远远没有想象的十分简单,例如css中布局是一个很重要的东西,会让我们写界面十分便捷、美观。JavaScript是一门弱语言,刚接触的时候觉得很顺手,但是后面的异步执行机制也让我吃了很多亏。 后面是学习了ajax、mybatis、servelet、websocket、jw

lxh0113的博客 394

Android Qcom USB Driver学习(五)

在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。...

Android驱动开发 2901

js 点击闭包_这样解说JS闭包,小白白也能看得懂了

正在学习初学前端小伙伴,会感觉 HTML 和 CSS 太简单了,没什么挑战性。那是你没有学过 JS ,JS 中太多的概念初期学习的时候也是很懵逼的,比如 this、原型链、闭包等,即是重点,又是难点。但是你懂了之后会发现很简单,很好理解。因为小鹿暑假去面试,每场面试基本都是必问的,不仅要知道理论,还要问你在实际项目中的实践,这部分内容很多人常常在实战中忽略掉。今天的内容,就是 JS 中的一个重点,...

weixin_28892727的博客 151

uniapp 记录运动轨迹 开发_智能手环穿戴设备APP开发解决方案

智能手环是一种穿戴式智能设备,是目前备受关注的科技产品。目前智能手环具有的功能有记录日常生活中的运动数据、移动轨迹,定位等,有些还可以进行睡眠质量的检测,并将这些数据传送至移动端如手机、平板等,可对数据进行分析,指导健康生活的作用。而智能手环开发方案就是将这些功能实现,将算法烧录到主控板上。智能手环都有哪些功能  1、记录运动数据  对于喜欢健身的用户来说,智能手环记录的运动数据功能...

weixin_39678493的博客 1764

【毕设】基于LoRa的物联网控制器:从原理图到PCB的完整硬件设计指南

本文提供了一份完整的基于LoRa的物联网控制器硬件设计指南,涵盖从系统框图、原理图设计到PCB布局布线的全流程。详细讲解了电源电路、单片机最小系统、信号接口以及LoRa无线模块等核心模块的设计要点与抗干扰技巧,并分享了实用的调试心得,旨在帮助电子、物联网专业学生顺利完成毕业设计,掌握低功耗远距离物联网节点的硬件开发实践。

weixin_42126677的博客 307

JS高级程序设计第4章--精简版

前言:纯手打!!!按照自己思路重写!!!这次是二刷了,想暑假做一次完整的笔记,但用本子来写笔记的话太贵了,可能哪天还丢了。。所以还是博客好== 第四章:变量、作用域和内存问题 4.1 基本类型和引用类型的值:   ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。 基本类型值: 指的是简单的数据段。 类型:Undefined、Nu...

weixin_30518397的博客 115

Proteus仿真实战:ADC0832时序解析与51单片机精准电压采集

本文详细解析了ADC0832模数转换芯片在Proteus仿真环境中的时序控制与51单片机驱动实现。通过实战代码示例和精度优化技巧,帮助开发者掌握电压采集的关键技术,包括时序配置、数据校验和噪声抑制等核心要点,提升嵌入式系统设计的精准度与可靠性。

weixin_29172963的博客 873

js获取今天剩余时间_这样解说JS闭包,小白白也能看得懂了

正在学习初学前端小伙伴,会感觉 HTML 和 CSS 太简单了,没什么挑战性。那是你没有学过 JS ,JS 中太多的概念初期学习的时候也是很懵逼的,比如 this、原型链、闭包等,即是重点,又是难点。但是你懂了之后会发现很简单,很好理解。因为小鹿暑假去面试,每场面试基本都是必问的,不仅要知道理论,还要问你在实际项目中的实践,这部分内容很多人常常在实战中忽略掉。今天的内容,就是 JS 中的一个重点,...

weixin_39913628的博客 277

博途的HMI(触摸屏)的应用

触摸屏(HMI):用于控制PLC,可认为是小型上位机(用于控制PLC的都可认为是上位机)上位机(PC Station):将触摸屏升级为电脑----工控机(工业控制的机器)用博途编写西门子的触摸屏和上位机。

王阿妹小天才的博客 2676

大模型之Spring AI实战系列(二):Spring Boot + OpenAI 打造聊天应用全攻略

本篇文章是《Spring AI实战》专栏的第一篇开发入门文章,我们将借助一个完整的OpenAI聊天应用示例,详细介绍如何运用Spring Boot和Spring AI快速搭建一个支持OpenAI API的聊天服务,全面涵盖基础对话、流式对话、多提供商配置等核心功能。

寻道AI,探索AI无限可能! 6867

【2021软件创新实验室暑假集训】SpringMVC框架(设计原理、简单使用、源码探究)

写本文的原因主要是为了实验室暑假集训备课所写,但是本着要么就不写,要写就写好的原则,同时也是为了让我复习技术,我就从开始的模式背景开始讲起,到SpringMVC的使用,再到SpringMVC的源码原理探究。也算自己对于SpringMVC框架的小总结吧。

风过孤屿,山海自成诗行。 1379

【零基础入门unity游戏开发——unity3D篇】unity CharacterController 3D角色控制器最详细的使用介绍,并实现俯视角、第三人称角色控制(附项目源码)

【unity小技巧】unity最完美的CharacterController 3d角色控制器,实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果,复制粘贴即用但是我发现很多人还是不理解,都跑来私信问我,所以决定重新做一个更加详细且简单控制器,主要是实现俯视角和第三人称角色控制。添加一个胶囊体,添加Character Controller组件,记得删除Capsule Collider组件,因为Character Controller自带了碰撞,所以不需要Character Controller参数介绍。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 5022

Node.js补充(事件循环 + EventEmitter + Buffer + stream + 全局对象 + util) -- 暑假Day14

目录Node.js补充事件循环EventEmitter 类Buffer(缓冲区)stream(流)全局对象util Node.js补充 Node.js的组成 NPM,是和Node.js一起安装的包管理工具 REPL,交互式解释器,就相当于在窗口中直接进行编辑,感觉没什么用 回调函数,异步编程的直接体现就是回调函数 阻塞代码:按顺序执行的代码 非阻塞代码:不按顺序,可以在加载外部文件之前执行后续显示代码 事件循环 Node.js 是单线程应用程序,里面的几乎每个API都支持回调函数 基本上所有的事

weixin_50948265的博客 217

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

拿捏js中this指向

this很灵活,认真读完这一篇,你对this的理解八九不离十了

qq_63605696的博客 189

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

为什么迟迟拿不到offer?或许你离成功只差一步——JavaScript面试宝典

JS的原始类型有哪几种? 在 JS 中,存在这6种原始值,分别是: number string boolean undefined null symbol null 是对象吗? 对于 null 来说,很多人会认为他是个对象类型,其实这是错误的。虽然 typeof null 会输出 object,但是这只是 JS 存在的一个悠久 Bug。在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,000 开头代表对象,然而 null 表示为全零,所以将它错误地判断为

丁鱼教育官方博客 589

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

暑假摆烂第三天

基础web绕过各种

NYG694的博客 222

第六届字节跳动青训营 - 暑假专场 前端、后端基础班笔试

1.【单选】页面中有10个逐层嵌套的div元素,最底层的div元素有个名为 'div' 的class,对最底层div应用以下两条css规则,问最底层div的颜色?如果规则顺序前后对调呢,底层div颜色?。B. red,redD. red,red2.【单选】下面哪个事件处理程序会阻止事件冒泡?3. 【单选】以下哪个方法可以用于将一个字符串转换为整数4.【单选】["1", "2", "3"].map(parseInt)D. other5.【单选】下列定义的 css 中,哪个权重是最低的?

m0_64538406的博客 525

暑假php学习记录(4)

HTML 标签 标签将表单内容的一部分打包,生成一组相关表单的字段。 标签没有必需的或唯一的属性。 标签为 fieldset 元素定义标题。 你喜欢什么口味的冰激凌? 下面的 fieldset 位于 form 元素之外,但仍然是表单的一部分。   Personalia:   Name:   Email:   Date

旭之PHP学习记录 434

万茜穿搭太时尚了,穿着无袖西装裙、波点连衣裙,谁穿谁好看

第二款牛仔背带裤,在第一款的基础上做了收腰处理,比起直筒式更显身材,裤腿有挽边,使裤腿看起来更宽,有一定显腿瘦的效果。里面搭配的是牛油果绿T恤,一个为夏天而生的颜色,清新自然,依旧是搭的小白鞋,它和牛仔真的太搭了。温柔的米白色背带裤整体上紧下松,有微微的蓬松感,前面黑色的带子既可以调整松紧也是一个小小的装饰,使整体不会单调。虽然炎热会贯穿整个暑假,但丝毫不会影响每一位女人对它的期待,时间充足的假期意味着会产生很多快乐的事情,可以按照自己的喜好选择衣服,见证着青春最好的模样。

Funny的博客 234

校园二手交易系统开发:Node.js+PHP+Vue+Hadoop混合架构实践

现代Web开发中,混合技术栈已成为应对复杂业务场景的主流方案。其核心原理是通过不同技术组件的优势互补,实现系统整体性能优化。以校园二手交易平台为例,结合Node.js的实时处理能力、PHP的稳定表单处理、Vue的响应式前端以及Hadoop的大数据分析,可有效应对高校场景下的季节性流量波动。这种架构设计既保留了传统Web开发的高效性,又融入了实时交互和大数据处理能力,特别适合需要同时处理高并发请求与复杂数据分析的教育行业应用。通过合理的技术组合,开发者可以在资源受限的环境下,构建出兼具性能与扩展性的校园服务系

weixin_33692284的博客 438

动画:什么是闭包?

写在前边 、 正在学习初学前端小伙伴,会感觉 HTML 和 CSS 太简单了,没什么挑战性。那是你没有学过 JS ,JS 中太多的概念初期学习的时候也是很懵逼的,比如 this、原型链、闭包等,即是重点,又是难点。但是你懂了之后会发现很简单,很好理解。 因为小鹿暑假去面试,每场面试基本都是必问的,不仅要知道理论,还要问你在实际项目中的实践,这部分内容很多人常常在实战中忽略掉。 今天的内容,就是...

小鹿动画学编程 4993

暑假进阶:从零构建Web即时战略游戏,掌握全栈开发核心技术

在现代Web开发中,前后端分离架构与实时通信技术是构建复杂交互应用的核心基础。其原理在于通过API接口与WebSocket协议,实现客户端与服务器的高效数据交换与状态同步,从而支撑起动态、实时的用户体验。这种技术组合在游戏开发、在线协作工具、实时数据仪表盘等场景中具有极高价值,尤其适合作为综合性的工程实践项目。以即时战略游戏为例,开发者可以系统性地实践状态管理、网络编程、数据库设计等关键技术。通过构建一个包含资源采集、单位建造、实时战斗等核心玩法的Web游戏,不仅能深入理解Socket.IO、Redis、P

weixin_34262482的博客 354

现在的预制娃们也太卷了吧!我和儿子选择一边玩游戏一边学习!

文章摘要:作者观察到当前教育内卷现象严重,初中生暑假已开始超前学习高中课程("预制娃"现象)。联想到自己80后无忧无虑的童年,作者决定用游戏化方式帮助孩子学习英语。通过Seed Evolving+Claude Code技术开发了一款单词射击游戏,包含六大玩法模式,融合记忆曲线、错题追踪等学习机制。文章详细介绍了游戏设计思路、技术实现(HTML+Node.js)及开发过程,特别强调Seed Evolving模型在长上下文保持和复杂系统开发中的优势,最终仅用1700行代码就完成了这个寓教于乐的项目。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 504

中国海洋大学《移动软件开发》实验1:第一个微信小程序 开发记录

中国海洋大学移动软件开发课程实验1记录,包含微信小程序手动创建与模板创建的基础代码与总结。

xiaoyang_0621的博客 230
上一篇: [暑假]this指向问题
下一篇: [暑假]ES6基本概述<快速入门>
Zhengqin Yuan
博客等级 码龄5年 135粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值