当前位置: 首页 > news >正文

Javascript Insights: Visualizing Var, Let, And Const In 2024

11/2024 出版
MP4 |视频:h264, 1920×1080 |音频:AAC,44.1 KHz
语言:英语 |大小: 2.96 GB |时长: 5 小时 34 分钟

为所有认真的 JavaScript 开发人员可视化与 VAR、LET、CONST 和 EXECUTON CONTEXT 相关的高级概念!

哔哩哔哩工房

您将学
到的内容 了解基本和技术层面
的 VAR、LET、CONST 可视化执行上下文和调用堆栈
了解不可变绑定与不可变分配
之间的区别 了解有关块范围、函数对象和内部插槽
的高级概念 了解 VAR LET 和 CONST
的提升、绑定和内存分配了解为什么引入 LET 和 CONST 来取代 VAR
Master 高级概念,如环境、声明性记录、组件、槽等!
了解临时死区 (TDZ) 以及如何处理它
将 JavaScript 变量范围与 C、Java、Bash 等
其他语言进行比较 能够根据上下文
选择合适的关键字 掌握与 LET、CONST 和 VAR
相关的内存管理和绑定 了解变量重新分配和重新声明的概念
了解词汇范围与动态范围 VAR
曾经被打破过吗?
你今天应该使用 VAR 吗(答案可能会让你大吃一惊)
还有更多!

要求
对 JavaScript 有一点了解会对 Mac 或 PC 有所帮助
,因此您可以和我一起编写代码

描述
Master JavaScript 的保留关键字:VAR、LET 和 CONST揭开 JavaScript 最重要的保留关键字 VAR、LET 和 CONSTJoin 一个动感十足的探索 JavaScript Master VAR、LET 和 CONST 核心的旅程——这三重奏塑造了我们在代码中声明和管理变量的方式!超越基础知识,揭示这些关键词的复杂工作原理。很少有开发人员能够充分发挥其潜力,更不了解它们在幕后是如何运作的。了解全局范围、局部范围、块和函数执行上下文,以及如何在这些场景中使用变量在本课程结束时,您不仅会掌握语法,还会深入了解这些关键字如何与内存、执行上下文和环境记录交互。为什么需要掌握 VAR LET 和 CONST?了解 VAR、LET 和 CONST 关键字对于任何认真的 JavaScript 开发人员来说都是必不可少的,因为这些关键字从根本上决定了变量在代码中的行为方式。了解它们在范围、提升和可变性方面的差异有助于防止常见的陷阱。由于 VAR 是函数范围的,容易出现提升问题,而 LET 和 CONST 提供块范围和“部分不可变性”(使用 CONST),开发人员可以编写更简洁、更可预测的代码。此外,了解这些关键字如何与内存管理和执行上下文交互,使开发人员能够优化其应用程序的性能和可维护性。您将学到什么:VAR、LET 和 CONST 的基础知识:深入研究控制这些关键字的核心原则以及它们在功能上的差异。BLOCK 和 FUNCTION 范围的基础知识:深入研究 JS 引擎在评估块或函数内部的变量时创建的技术逻辑和上下文。高级概念:在探索每个 JavaScript 开发人员都应该了解的高级主题时,深入了解声明性记录、组件、槽等。此高级学习的一部分是了解不可变绑定与不可变赋值之间的区别,这在使用 CONST 关键字时非常重要。执行上下文和调用堆栈可视化:可视化JavaScript如何执行您的代码,以及如何在不同上下文中创建变量绑定。提升、绑定和内存分配:掌握提升和绑定的概念,并了解如何为每个关键字分配内存。JavaScript 的演变:了解为什么引入 LET 和 CONST 来取代 VAR,以及这对现代开发实践意味着什么。临时死区 (TDZ):了解这个关键概念并学习在代码中有效管理它的策略。比较分析:将 JavaScript 变量范围与 C、Java 和 Bash 等其他编程语言进行比较,以增强您对范围管理的理解。上下文关键字选择:培养根据特定编码场景选择合适的关键字的技能。内存管理和绑定:理解内存管理如何与LET、CONST和VAR相关,以编写更高效的代码。变量重新分配和重新声明:理解JavaScript中变量重新分配和重新声明的细微差别,具体取决于你使用的是CONST、LET还是VARLexical与动态范围。 动态范围:探索这两种范围类型,以加深你对变量可访问性的理解。历史洞察:VAR 曾经被打破过吗?深入了解它的过去它的局限性以及它们如何塑造现代 JavaScript。课程特色: 本课程旨在互动和引人入胜!每个部分都包含编码练习,可加强您的学习。您还可以在每个部分的末尾找到测试您的知识的测验、挑战您的技能的综合期末考试,以及将您新发现的专业知识付诸实践的动手作业。加入本课程,开始一场激动人心的冒险,我们将揭开 JavaScript 的保留关键字的神秘面纱!无论您是希望巩固基础的初学者,还是渴望加深理解的经验丰富的开发人员,本课程都将为您提供在 JavaScript 开发中脱颖而出所需的知识和技能。为什么这门课程脱颖而出这不仅仅是另一门课程;这是一种变革性的体验,将使您成为任何开发团队中不可或缺的资产。大多数开发人员在使用 VAR、LET 和 CONST 时没有完全理解它们 - 成为少数几个这样做的人之一!让我们开始编码吧!

概述
第 1 部分:简介

第 1 讲 变量、执行上下文、时间盲区、范围等简介

第 2 讲 颞部死区

第 3 讲 VAR、LET 和 CONST 的历史

第 4 讲 变量生命的 3 个阶段,以及 MILLION DOLLAR QUESTION

第 5 讲:JS 区分变量声明和初始化的原因

第 6 讲 可变提升

第 7 讲 使用“调试器”检查函数和变量的范围

第 8 讲:为什么 VAR 初始化为 “undefined” 的值?

第 9 讲 VAR 允许重新分配和重新声明,以及 VAR 的一些问题

第 10 讲 LET 允许重新分配,但不允许重新声明

第 11 讲 CONST 禁止重新分配,但不强制执行不可变性

第 12 讲 范围介绍

第 13 讲 全局范围 – VAR、LET 和 CONST 都是全局范围的。VAR 更进一步。

第 14 讲:为什么向全局对象添加属性通常不是一个好主意

第 15 讲 函数范围 – VAR、LET 和 CONST

第 16 讲:将 C 和 JavaScript 函数范围与 VAR 进行比较

第 17 讲 模块范围 – VAR、LET 和 CONST 都仅限于模块

第 18 讲:块范围 – LET 和 CONST 是块范围的

第 19 讲 VAR 黑客、IIFE 和“严格使用”

第 20 讲:VAR 未被阻止

第 21 讲:嵌套范围和隐藏

第 22 讲 时间死区 – 为什么创建它?

第 23 讲 “时间死区”中的“时间”是什么意思?

第 24 讲示例 – 确定整体范围

第 25 讲 示例 – 识别变量范围

第 26 讲 示例 – 全局执行上下文和调用堆栈

第 27 讲 示例 – 函数执行上下文和调用堆栈

第 28 讲 示例 – 块范围和结束语

第 2 部分:JavaScript 的执行上下文 – 创建阶段

第 29 讲 JavaScript 引擎会移动你的代码吗?

第 30 讲 VAR 和执行上下文简介

第 31 讲 您将要学习的内容非常实用(且高级)

第 32 讲 什么是执行上下文(阶段和类型)?

第 33 讲 领域简介 记录

第 34 讲 境界记录创造的 3 个最重要的领域

第 35 讲 The[[Intrinsics]] 字段

第 36 讲 The[[GlobalObject]] 字段

第 37 讲 什么是环境记录

第 38 讲 The[[GlobalEnv]] 字段

第 39 讲 全局变量回顾

第 40 讲 The[[VarNames]] 字段和回顾

第 41 讲 词汇和可变环境

第 42 讲 使用空白 app.js 文件的基本示例

第 43 讲示例 – 设置全局执行上下文

第 44 讲 示例 – 将全局变量和函数分配给正确的字段

第 45 讲 函数对象介绍

第 3 部分:JavaScript 的执行上下文 – 执行阶段

第 46 讲:执行阶段和调用堆栈

第 47 讲 示例执行 – 第 1 部分

第 48 讲:函数执行上下文 – 它在后台是如何工作的

第 49 讲 示例执行 – 第 2 部分

第 50 讲:开发人员视角下的准代码演练

第 4 部分:VAR、LET、CONST 和 BLOCKS

第 51 讲:根据 ECMAScript 的 VAR 定义

第 52 讲:根据 ECMAScript 的 LET 定义

第 53 讲 尝试重新声明 LET 变量会发生什么情况

第 54 讲 BLOCK 定义根据 ECMAScript

第 55 讲 BLOCK 示例

第 56 讲 将重点阐明的最后例子

第 5 部分:词汇界与动态界定

第 57 讲 JavaScript 中的范围界定简介(附示例)

第 58 讲:词汇界定与动态界定与 Bash 的动态界定示例

第 6 部分:结尾

第 59 讲 CONST 变量和不变性

第 60 讲:将 CONST 与 Object.freeze() 结合使用以确保真正的不变性

第 61 讲:VAR 的使用案例

第 62 讲 结尾

初级到中级 JavaScript 开发人员,希望提高 JavaScript 技能的 Web 开发人员,对现代 JavaScript 最佳实践感兴趣的任何人

相关文章:

Javascript Insights: Visualizing Var, Let, And Const In 2024

11/2024 出版 MP4 |视频:h264, 19201080 |音频:AAC,44.1 KHz 语言:英语 |大小: 2.96 GB |时长: 5 小时 34 分钟 为所有认真的 JavaScript 开发人员可视化与 VAR、LET、CONST 和 EXECUTON CONTE…...

KL散度改写为一个可用于优化的形式

理解 KL 散度及其公式推导过程 在信息论和概率论中,KL散度(Kullback-Leibler Divergence)是衡量两个概率分布之间差异的重要工具。本文将从 KL 散度的定义入手,详细解析其公式来源以及如何将其改写为一个可用于优化的形式。 1. 什…...

Java代码操作Zookeeper(使用 Apache Curator 库)

1. Zookeeper原生客户端库存在的缺点 复杂性高:原生客户端库提供了底层的 API,需要开发者手动处理很多细节,如连接管理、会话管理、异常处理等。这增加了开发的复杂性,容易出错。连接管理繁琐:使用原生客户端库时&…...

【Linux】Make/Makefile

这个3/4行的语法和1/2行是一样的。也是依赖关系和依赖方法。 make命令扫描makefile文件时,从上向下扫描,默认形成一个目标文件。 指定make clean的时候才回去执行对应的清除。 为什么要给我们的clean.PHONY:clean声明它是伪目标呢? PHONY类…...

C++练级计划->《多态》虚函数表,菱形继承多态

目录 什么是多态? 多态的条件 虚函数: 虚函数的重写: 协变 析构函数的重写 C11 final 和 override final: override: 总结: 三重对比:重载重写重定义对比 抽象类 多态的原理 虚函数…...

OkHttp3 - 2. OkHttp的核心组件与架构

1 OkHttp的工作原理 OkHttp3 的核心设计遵循以下原则: 请求与响应的分离:通过 Request 和 Response 对象解耦请求构建与结果处理。异步与同步支持:使用 Call 对象管理请求,可以同步或异步执行。高效连接复用:通过连接…...

异或操作解决一些问题

前提: 异或操作符合交换律,结合律(因为其根本上来抽象理解,就是查看所有项二进制数相同位是否有奇数个1,对运算结果二进制数而言,没有该位为0,有该位为1,与顺序无关)。 …...

操作系统之输入输出

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...

Centos 安装 Node.js 和 npm

方法2:使用 NVM(Node Version Manager)安装 安装 NVM curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 重新加载配置 source ~/.bashrc 安装最新的 LTS 版本的 Node.js nvm install --lts 验证安装…...

C语言——指针初阶(一)

目录 一.什么是指针??? 指针是什么? 指针变量: 总结: 总结: 二.指针和指针类型 指针-整数: 总结: 指针的解引用 总结: 三.野指针 如何规避野指针 往期…...

React Native 原生开发指南

写在前面 React Native (RN) 是一个用于构建跨平台移动应用的框架。它允许开发者使用 JavaScript 和 React 来编写应用程序,并将其转换为原生代码。虽然 RN 提供了许多内置的组件和 API,但有时候你可能需要访问原生平台的特定功能或性能优化。为此&…...

【前端】JavaScript中的柯里化(Currying)详解及实现

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 💯前言💯什么是柯里化?💯柯里化的特点💯柯里化的简单示例💯通用的柯里化实现💯柯里化让代码更易读的原因&#x1f4af…...

解决 docker 部署 vsftpd 速度慢问题

解决 docker 部署 vsftpd 速度慢问题 Docker 部署 ftp version: 3.8services:ftps:image: fauria/vsftpdcontainer_name: my-ftpsenvironment:- FTP_USERyourusername- FTP_PASSyourpassword- PASV_ADDRESS192.168.0.123 # 使用环境变量或直接指定IP地址- PASV_MIN_PORT4900…...

Java基础夯实——2.9 多线程如何共享数据

在 Java 多线程编程中,共享数据通过以下几种方式实现: 1. 使用共享对象 多个线程可以通过引用同一个对象来实现数据共享。例如: class SharedData {private int count;public synchronized void increment() {count;}public synchronized …...

【Leetcode Top 100】234. 回文链表

问题背景 给你一个单链表的头节点 h e a d head head,请你判断该链表是否为 回文链表(回文 序列是向前和向后读都相同的序列)。如果是,返回 t r u e true true;否则,返回 f a l s e false false。 数据…...

GitLab指定用户分配合并权限

进入项目 -》 Project Settings Repository -》展开 Protected branches -》 添加要保护的分支,设置角色 管理用户角色权限 查看到不同用户的角色,一般设置Developer只有Merger Request权限,Maintainer还有Merge审批权限 GitLab 中的权限…...

五,[GXYCTF2019]Ping Ping Ping1

进入靶场,有提示 我们在url试着输入本地IP,返回了ping命令 既然要在url处传参,那就用postman,再输入ip127.0.0.1 & ls,试着列出目录内容 ok,好像是个脏话,它过滤了空格 试着穿越又看到了脏话&#xff0…...

基于STM32的智能无人机自主飞行与目标识别系统设计

目录 引言系统需求分析 2.1 功能需求 2.2 硬件需求 2.3 软件需求系统设计 3.1 总体架构 3.2 各模块设计系统实现 4.1 硬件实现 4.2 软件实现系统调试与优化总结与展望 1. 引言 随着无人机技术的快速发展,无人机在军事侦察、环境监测、物流配送等领域的应用逐渐增多…...

C 语言数组与函数:核心要点深度剖析与高效编程秘籍

我的个人主页 我的专栏:C语言,希望能帮助到大家!!!点赞❤ 收藏❤ 目录 引言数组基础 2.1 数组的定义与初始化 2.2 一维数组的基本操作 2.3 二维数组及其应用 2.4 数组与指针的关系函数基础 3.1 函数的定义与调用 3.2…...

汽车轮毂结构分析有哪些?国产3D仿真分析实现静力学+模态分析

本文为CAD芯智库原创,未经允许请勿复制、转载! 之前分享了如何通过国产三维CAD软件如何实现「汽车/汽配行业产品设计」,兼容NX(UG)、Creo(Proe),轻松降低企业上下游图纸交互成本等。…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...