变量提升及代码执行阶段|学习笔记

简介: 快速学习 变量提升及代码执行阶段

开发者学堂课程【JavaScript 入门与实战:变量提升及代码执行阶段】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/582/detail/8043


变量提升及代码执行阶段


内容介绍

一、全局变量和局部变量

二、变量提升及代码执行


一、全局变量和局部变量

作用域:变量可以起作用的范围和区域

1. 全局变量与全局作用域

在任何地方都可以访问到的变量就是全局变量,全局变量所在的区域就是全局作用域

2. 局部变量与局部作用域

只在固定的代码片段内可访问到的变量,最常见的例如函数内部的变量,就是局部变量,局部变量所在区域就是局部作用域(函数作用域)

3. 注意

不适用 var 声明的变量是全局变量,不推荐使用。

变量退出作用域之后会销毁,全局变量关闭网页和浏览器才会销毁。

4. 全局作用域和局部作用域的区别

var f2 =function(){

var a =1;

}

var a= 2;

console.log(a);

当console.log(a);函数在外面就是全局作用域

var f2 =function(){

var a =1;

console.log(a);

}

var a= 2;

当 console.log(a);函数在里面就是局部作用域


二、变量提升及代码执行

console.log(a);//undefined

var a=2

console.log(a);//  a is not defined

变量提升:在代码执行之前变量已经在编译阶段被声明了

JS 代码的运行分为两个阶段

1. 解析(编译)阶段:语法检查,变量及函数进行声明

2. 运行阶段:变量的赋值,代码流程的执行

范例:

var a;  {先进行变量的声明}

console.log(a);

a=2  {然后进行变量的赋值}

注意:如果一个变量声明了但是没有赋值就会是 undefined

相关文章
|
项目管理 UED 开发者
优秀技术产品经理应具备的关键能力
在技术开发领域,技术产品经理在项目中起着至关重要的作用,他们不仅需要具备项目管理的技能,还需要精通技术领域,能够理解和引领团队在技术层面上的决策,他们以技术的视角对项目进行管理,确保项目按时高质量交付。而且优秀的技术产品经理不仅是项目组的主心骨,还是技术决策的参与者和项目推进的关键人物。那么本文就来探讨一下如何成为一名优秀的技术产品经理,一个优秀的技术产品经理应该具备的关键能力,希望能够为那些渴望成为优秀技术产品经理的人提供一些启示和指导。
309 2
优秀技术产品经理应具备的关键能力
|
存储 Java
【JavaSE】基础笔记 - 图书管理系统(保姆教程,含源码)
【JavaSE】基础笔记 - 图书管理系统(保姆教程,含源码)
446 1
cron-utils获取下几次执行时间
cron-utils获取下几次执行时间
477 0
|
SQL 安全 数据挖掘
Acunetix 12-Web漏洞扫描初体验
Acunetix 12-Web漏洞扫描初体验
Acunetix 12-Web漏洞扫描初体验
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
597 60
|
存储 SQL 关系型数据库
深入探究InnoDB的MVCC快照机制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
666 5
深入探究InnoDB的MVCC快照机制
|
Kubernetes 监控 调度
k8s学习--kubernetes服务自动伸缩之垂直伸缩(资源伸缩)VPA详细解释与安装
k8s学习--kubernetes服务自动伸缩之垂直伸缩(资源伸缩)VPA详细解释与安装
573 2
|
机器学习/深度学习 测试技术 PyTorch
深度学习之测量GPU性能的方式
在深度学习中,测量GPU性能是一个多方面的任务,涉及运行时间、吞吐量、GPU利用率、内存使用情况、计算能力、端到端性能测试、显存带宽、框架自带性能工具和基准测试工具等多种方法。通过综合使用这些方法,可以全面评估和优化GPU的性能,提升深度学习任务的效率和效果。
1026 5
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
986 1
|
算法
FM算法介绍
概述 FM (Factorization Machine) 算法可进行回归和二分类预测,它的特点是考虑了特征之间的相互作用,是一种非线性模型,目前FM算法是推荐领域被验证的效果较好的推荐方案之一,在诸多电商、广告、直播厂商的推荐领域有广泛应用。
12222 0