JavaScript系列从入门到精通系列第十七篇:JavaScript中的全局作用域
文章目录
前言
1:什么叫作用域
一:全局作用域
1:全局变量的声明
2:变量声明和使用的顺序
3:方法声明和使用的顺序

前言
1:什么叫作用域
可以起作用的范围
function fun(){var a = 1;
}
fun();console.log(a);//会报错
我们的作用域只有全局作用域和函数作用域。
一:全局作用域
1:全局变量的声明
直接编写到Script里边的代码,就是全局作用域。全局作用域在页面打开时创建在页面关闭时销毁。
在全局作用域中有一个全局对象window,我们可以直接使用。
对象,都是对现实对象的抽象,他依赖于一个浏览器窗口,window对象就代表是一个浏览器窗口,他由我们的浏览器创建,可以直接使用。

window是浏览器创建的一个全局对象,在全局作用域里边,我们创建的对象都会作为window对象的属性进行保存。 如下操作可以证明:

全局作用域下的对象都会作为window对象的属性保存。
全局作用域下的函数都会违window对象的方法进行保存。

所以,我们说我们的方法和函数没有区别。我们定义的函数实际上就是window对象的方法。
var a = 123;b = 123;
定义一个全局作用域变量,使用或者不使用var都是可以的。不使用var的话,本质上相当于这样:
a = 123;window.a =123;
也就是直接往window对象当中进行添加属性和赋值。
2:变量声明和使用的顺序
声明需要在使用之前。
console.log(a);
var a = 123;
这样写会将var a提前到代码前,这样的话,console不会报错,只是打印的undefined。因为赋值是在后边处理的。
console.log(b);
b = 100;
这个没有var,所以这个不会提前,这样写执行就会报错!
3:方法声明和使用的顺序
fun();function fun(){console.log("xxxxxxxxxxxxxxxxxx");
}
使用函数声明形式创建的函数,会在调用前就已经被加载。会直接把这个函数创建好了。所以,我们可以在函数声明前调用函数。这是没有任何问题的。
使用函数表达式创建的函数不会被提前,代码表达如下:
var fun function (){console.log("xxxxxxxxxxxxxxxxxx");
}fun();
fun()调用只能在后边。因为var fun赋值实在。代码执行到的哪一行进行处理。
函数声明会被提前,函数表达式不会被提前
全局作用域中的变量是全局变量,在页面的任意部位都可以进行访问。


相关文章:
JavaScript系列从入门到精通系列第十七篇:JavaScript中的全局作用域
文章目录 前言 1:什么叫作用域 一:全局作用域 1:全局变量的声明 2:变量声明和使用的顺序 3:方法声明和使用的顺序 前言 1:什么叫作用域 可以起作用的范围 function fun(){var a 1; } fun();consol…...
汇编指令集合
...
TinyWebServer整体流程
从main主函数开始: 一、定义MySQL数据库的账号、密码和用到的数据库名称。 二、调用Config获得服务器初始化属性 在这一步确定触发模式端口等信息。 三、创建服务器实例对象 设置根目录、开辟存放http连接对象的空间,开辟定时器空间。 四、利用Confi…...
【Java项目推荐之黑马头条】自媒体文章实现异步上下架(使用Kafka中间件实现)
自媒体文章上下架功能完成 需求分析 流程说明 接口定义 说明接口路径/api/v1/news/down_or_up请求方式POST参数DTO响应结果ResponseResult DTO Data public class WmNewsDto {private Integer id;/*** 是否上架 0 下架 1 上架*/private Short enable;}ResponseResult 自媒…...
自学(黑客)技术方法————网络安全
如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…...
python+playwright 学习-84 Response 接口返回对象
Response 是获取接口响应对象,根据Response 对象可以获取响应的状态码,响应头部,响应正文等内容。 Response 相关操作方法 all_headers 所有响应HTTP标头, 返回Dict 类型 response.all_headers()body 获取 bytes 类型body内容 response.body()json 返回响应主体的 JS…...
GCN详解
a ⃗ \vec{a} a 向量 a ‾ \overline{a} a 平均值 a ‾ \underline{a} a下横线 a ^ \widehat{a} a (线性回归,直线方程) y尖 a ~ \widetilde{a} a a ˙ \dot{a} a˙ 一阶导数 a \ddot{a} a 二阶导数 H(l)表示l层的节点的特征 W(l)表示l层的参数 D ~ \widet…...
总结二:linux面经
文章目录 1、 Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数。2、文件权限怎么修改?3、说说常用的Linux命令?4、说说如何以root权限运行某个程序?5、 说说软链接和硬链接的区别?6、说说静态库和动态…...
12、【Qlib】【主要组件】Qlib Recorder:实验管理
11、【Qlib】【主要组件】Qlib Recorder:实验管理 简介Qlib RecorderExperiment ManagerExperimentRecorderRecord Template简介 Qlib包含一个名为QlibRecorder的实验管理系统,旨在帮助用户以高效的方式处理实验并分析结果。 该系统有三个组件: 实验管理器(ExperimentMan…...
三一充填泵:煤矿矸石无害化充填,煤炭绿色高效开采的破局利器
富煤贫油少气是我国的能源禀赋特征,决定了我国以煤炭为主的能源结构,煤炭为国民经济发展提供了重要的基础。煤炭开采过程会对土地、地下水、空气等环境造成较大的污染,但大宗固废煤矸石无害化充填的技术手段可以有效改善这样的情况࿰…...
医疗器械标准目录汇编2022版共178页(文中附下载链接!)
为便于更好地应用医疗器械标准,国家药监局医疗器械标准管理中心组织对现行1851项医疗器械国家和行业标准按技术领域,编排形成《医疗器械标准目录汇编(2022版)》 该目录汇编分为通用技术领域和专业技术领域两大类,通用…...
C#和Excel文件的读写交互
C#和Excel文件的读写交互是一项重要的技术,在许多应用程序开发中起着关键作用。C#作为一种现代的面向编程语言,提供了丰富的库和功能,使开发人员能够轻松地处理Excel文件,并进行数据的读取和写入。 首先,让我们了解一下…...
Pytorch目标分类深度学习自定义数据集训练
目录 一,Pytorch简介; 二,环境配置; 三,自定义数据集; 四,模型训练; 五,模型验证; 一,Pytorch简介; PyTorch是一个开源的Python机…...
2023 年 Web 安全最详细学习路线指南,从入门到入职(含书籍、工具包)【建议收藏】
第一个方向:安全研发 你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。 既然如此,那其…...
qt常用控件1
QLabel QLabel用于显示文本或图像。不提供用户交互功能。标签的视觉外观可以通过多种方式进行配置,并且可用于为另一个小组件指定焦点助记键。 常用API介绍: 获取对应的文本信息: 设置对其方式: 设置能否进行换行 获取及设置标…...
想提高网站访问速度?CDN加速了解下
随着数字时代的到来,网站已成为企业展示自身实力和吸引目标受众的关键平台之一。然而,网站的成功与否往往取决于一个关键因素 - 速度。网站访问速度的快慢不仅影响用户体验,还对搜索引擎排名和转化率产生深远的影响。因此,网站加速…...
验证回文串[简单]
优质博文:IT-BLO-CN 一、题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。 字母和数字都属于字母数字字符。 给你一个字符串s,如果它是回文串࿰…...
Golang编译生成可执行程序的三种方法
目录 前言 正文 方法一、 方法二、 方法三、 结尾 前言 Golang是一种强类型、编译型、跨平台的编程语言,相同代码在不同平台上都可以编译出对应的可执行程序。今天就来简单介绍一下如何使用命令编译出可执行程序,本文以windows平台为例进行介绍。 …...
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习 教育中的学习评估对教育工作者来说是一项繁琐的工作,但评估的好处是显着的。由于其开放性和复杂性,使用传统的评估方法为学生提供及时的支持一直具有挑战性。在Covid-19大流行期间突然转向在线学习&…...
凉鞋的 Godot 笔记 103. 检视器 :节点的微观编辑和查看
在上一篇,笔者简单介绍了场景与节点的增删改查,如下所示: 在这一篇,我们接着往下学习。 我们知道在场景窗口,可以对节点进行增删改查。 在 Godot 引擎使用过程中,场景窗口的使用频率是非常高的。 但是场景窗口只能编…...
[特殊字符] 即梦AI(Dreamina)完全指南:字节跳动的AI创作神器有多强?
即梦AI(Dreamina)是字节跳动旗下剪映团队推出的一站式AI创作平台,自2024年5月正式上线以来,凭借强大的中文理解能力、丰富的创作功能和极具竞争力的价格策略,迅速成为国内AI创作领域的头部产品。本文将全面解析即梦AI的…...
2023B卷,IPv4地址转换成整数
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:华为OD面试 文章目录 一、🍀前言 1.1 ☘️题目详情 1.2 ☘️参考解题答案 一、🍀前言 2023B卷,IPv4地址转换成整数。 1.1 ☘️题目详情 题目: 存…...
PaddleOCR Docker镜像实战:从Java调用到表格识别,一个容器搞定OCR全流程
PaddleOCR Docker镜像实战:从Java调用到表格识别全流程指南 在数字化转型浪潮中,OCR(光学字符识别)技术已成为企业处理纸质文档、票据和表格数据的关键工具。PaddleOCR作为百度开源的OCR解决方案,凭借其出色的中文识别…...
终极WebGL 3D图形开发指南:gl-matrix快速集成实战
终极WebGL 3D图形开发指南:gl-matrix快速集成实战 【免费下载链接】gl-matrix Javascript Matrix and Vector library for High Performance WebGL apps 项目地址: https://gitcode.com/gh_mirrors/gl/gl-matrix gl-matrix是一款专为高性能WebGL应用打造的Ja…...
FlowScope:一款注重隐私的SQL数据血缘分析工具
最近团队接手了一个新的数据仓库项目,这个项目已经开发了很多年,包含了几百个表和几万行 ETL 存储过程代码。 目前我们经常面临的问题包括: 这个字段从哪里来?这张表被哪些存储过程用到了?修改这个字段会影响哪些 ET…...
从TJA1050到SIT1050T:手把手教你搞定CAN收发器外围电路与PCB布局避坑
从TJA1050到SIT1050T:手把手教你搞定CAN收发器外围电路与PCB布局避坑 在汽车电子和工业控制领域,CAN总线因其出色的抗干扰能力和可靠性成为首选通信协议。但许多工程师在设计CAN收发器外围电路时,常因忽视数据手册中的关键细节而导致通信不稳…...
COMSOL相场模拟:枝晶生长与雪花形成的模型与教程
comsol相场模拟枝晶生长(雪花的形成) 有模型和教程 凌晨三点盯着显微镜下的冰晶生长,突然意识到这玩意儿和编程调试一样——参数调不好分分钟给你长歪。相场法模拟枝晶生长这事儿,本质上就是在用数学方程式和物理定律"种&qu…...
BGE-Reranker-v2-m3企业部署:高并发请求压力测试案例
BGE-Reranker-v2-m3企业部署:高并发请求压力测试案例 1. 项目背景与价值 在企业级RAG(检索增强生成)系统中,检索精度直接影响最终的回答质量。传统向量检索虽然快速,但容易受到关键词相似性的干扰,返回大…...
BilibiliDown:三分钟掌握跨平台B站视频批量下载终极方案
BilibiliDown:三分钟掌握跨平台B站视频批量下载终极方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors…...
TM1651驱动LED条形图模块原理与嵌入式驱动开发
1. Whadda LED Bar Graph 模块技术解析与嵌入式驱动开发实践1.1 模块硬件架构与核心芯片特性Whadda WPI471 是一款基于 TM1651 驱动 IC 的 10 段 LED 条形图显示模块,广泛应用于嵌入式系统中的模拟量可视化指示场景,如电池电量、信号强度、温度梯度、音频…...
