JavaScript作用域及预解析

文章目录

  • 1. 作用域介绍
  • 2. 变量的作用域
  • *3. JS中没有块级作用域
  • 4. 作用域链
  • 5. 预解析
    • 预解析案例

1. 作用域介绍

在这里插入图片描述

  1. 全局作用域在这里插入图片描述
  2. 局部作用域在这里插入图片描述
  3. 相同的变量名称在不同的作用域中是不会相互影响的!在这里插入图片描述

2. 变量的作用域

  1. 全局变量:在全局下都可以使用;
  2. 局部变量:在函数内部的变量。

注意:
1.如果在函数内部没有直接声明直接赋值的变量也属于全局变量。(例如:num = 20)
2.函数的形参也可以看作是局部变量。

全局变量和局部变量的比较

在这里插入图片描述

*3. JS中没有块级作用域

在这里插入图片描述

4. 作用域链

作用域链:
内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值,这种结构我们称之为作用域链。(总的来说就是就近原则)

5. 预解析

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

预解析案例

  1. 在这里插入图片描述
    在这里插入图片描述
    结果:

在这里插入图片描述
在这里插入图片描述
结果:
undefined
undefined
20

  1. 在这里插入图片描述
    在这里插入图片描述
    结果:在这里插入图片描述
  2. 在这里插入图片描述
    结果:在这里插入图片描述

注意:
var a = b = c = 9的含义是:var a = 9; b = 9;c = 9 ,也就是 b 和 c 没有声明变量,直接赋值了,当作全局变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为数通方向HCIP-DataCom H12-821题库(多选题:61-80)

第61题 ACL 可分为如下哪些类别? A.用户自定义 ACL B.基本 ACL C.二层ACL D.高级ACL 【参考答案】ABCD 【答案解析】 A. 用户自定义 ACL (User-defined ACL): 这是用户根据自身需求自定义的 ACL,用于实现特定的访问控制策略。B.基本 ACL (Standard ACL): 基本 ACL 是基于源 …

北京大学发布,将试错引入大模型代理学习!

引言:探索语言智能的新边界 在人工智能的发展历程中,语言智能始终是一个核心的研究领域。随着大语言模型(LLM)的兴起,我们对语言智能的理解和应用已经迈入了一个新的阶段。这些模型不仅能够理解和生成自然语言&#x…

【算法分析与设计】组合

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 示例 1&…

【计算机学习】-- 电脑的组装和外设

系列文章目录 文章目录 系列文章目录前言一、电脑的组装1.CPU2.主板3.显卡4.硬盘5.内存6.散热器7.电源8.机箱 二、电脑外设选用1.显示器2.鼠标3.键盘4.音响 总结 前言 一、电脑的组装 1.CPU 返回目录 认识CPU CPU,即中央处理器,负责电脑资源的调度安…

计算机网络-网络安全(一)

1.网络安全威胁和漏洞类型: 窃听 假冒 重放 流量分析 破环完整 病毒 木马 诽谤 非授权访问 拒绝服务 漏洞:物理、软件、不兼容、其他等。 2.网络安全信息数据五大特征: 完整性&…

【.NET Core】深入理解IO - 读取器和编写器

【.NET Core】深入理解IO - 读取器和编写器 文章目录 【.NET Core】深入理解IO - 读取器和编写器一、概述二、BinaryReader和BinaryWriter2.1 BinartReader类2.2 BinaryWriter类 三、StreamReader和StreamWriter3.1 StreamReader类3.1 StreamWriter类StreamWriter类构造函数Str…

【Vue】探究 Vue 2 与 Vue 3 生命周期:变化与延续

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

paper-ai :搜索真实文献并生成引用真实文献的AI论文

paper-ai :搜索真实文献并生成引用真实文献的AI论文。 项目简介 使用真实文献最快速完成论文的方法 利用人工智能撰写论文 人工智能书写功能:点击 "AI 写作 "进行正常对话互动。人工智能将根据您的输入提供写作建议或回答问题。 寻找文献功能…

C/C++工程师面试题(STL篇)

STL 中有哪些常见的容器 STL 中容器分为顺序容器、关联式容器、容器适配器三种类型,三种类型容器特性分别如下: 1. 顺序容器 容器并非排序的,元素的插入位置同元素的值无关,包含 vector、deque、list vector:动态数组…

DocxToDoc.java

DocxToDoc.java word高版本docx转化word2003版本 package word;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagrap…

【Ubuntu 20.04 / 22.04 LTS】最新 esp-matter SDK 软件编译环境搭建步骤

仓库链接:esp-matter SDK官方软件说明:ESP Matter Programming Guide官方参考文档:使用 Matter-SDK 快速搭建 Matter 环境 (Linux) 环境要求 Ubuntu 20.04 或 Ubuntu22.04网络环境支持访问 Gihub 在安装 esp-matter SDK 软件编译环境之前&a…

三八女神节特别推荐:完美礼物俘获她的芳心

三八女神节马上就要到了,这是一个赞颂女性独立、坚韧与美丽的时刻。在这个充满温馨与敬意的日子里,很多人想要为那些绽放光彩的女性们献上一份特别的礼物。这不仅是一份物质上的馈赠,更是一份心灵上的交流,一次情感上的共鸣。 真…

面试经典150题——简化路径

"A goal is a dream with a deadline." - Napoleon Hill 1. 题目描述 2. 题目分析与解析 2.1 思路一 这个题目开始看起来并不太容易知道该怎么写代码,所以不知道什么思路那就先模拟人的行为,比如对于如下测试用例: 首先 /代表根…

手把手教会你使用Markdown【从入门到精通一篇就够了】

手把手教会你使用Markdown【从入门到精通一篇就够了】 前言一、Markdown是什么二、Markdown优点三、Markdown的基本语法3.1 标题3.2 字体3.3 换行3.4 引用3.5 链接3.6 图片3.7 列表3.8 分割线3.9 删除线3.10 下划线3.11 代码块3.12 表格3.13 脚注3.14 特殊符号 四、Markdown的高…

UCSF DOCK 分子对接详细案例(04)-基于RDKit描述符的分子从头设计DOCK_D3N

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、 软件及操作环境二、研究目的三、结构文件准备四、 DOCK/RDKit中 de novo design4.1 de novo design - refine_D3N4.2 对输出重新评分 总结参考资料 前言 本文是UCSF DOCK的使用案例分享&…

lv20 QT事件5

1 事件模型 2 事件处理 virtual void keyPressEvent(QKeyEvent *event) virtual void keyReleaseEvent(QKeyEvent *event) virtual void mouseDoubleClickEvent(QMouseEvent *event) virtual void mouseMoveEvent(QMouseEvent *event) virtual void mousePressEvent(QMou…

【短时交通流量预测】基于Elman神经网络

课题名称:基于Elman神经网络的短时交通流量预测 版本时间:2023-04-27 代码获取方式:QQ:491052175 或者 私聊博主获取 模型简介: 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&#…

自己拍摄的视频能做成二维码吗?快速在线生码该怎么操作?

自己拍摄的视频能做成二维码吗?现在扫描二维码用来播放视频的使用场景越来越多,这种方式的流行在于能够通过更低的成本获取更好的效果,有效的提升用户获取视频内容的体验,通过消耗流量就可以播放视频。 那么视频制作二维码一般会…

Vue.js 修饰符:精准控制组件行为

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

多点通信与域套接字:2024/3/4

作业1&#xff1a;广播 发送端&#xff1a; #include <myhead.h> int main(int argc, const char *argv[]) {//1.创建套接字int sfdsocket(AF_INET,SOCK_DGRAM,0);if(sfd-1){perror("socket error");return -1;}printf("sfd%d\n",sfd);//2.设置当前…