javascript - 当两个同名的变量提升时会发生什么?
问题描述
因此,如果我这样声明两个变量:
var a = 5;
var b = 10;
Javascript 编译代码,直到赋值发生,这些变量都是undefined
.
但如果我这样写:
var a = 5;
var a = 10;
当这些变量提升时会发生什么?它们都有名称a
并且它们是undefined
?或者它可能是一个变量并且undefined
在其中写入了两次?
解决方案
提升在这里并不重要。您不能在同一范围内拥有两个具有相同名称的变量。写多少次var a
,只有一个变量a
,它的提升与你有一个变量没有什么不同var a
。
这段代码...
function() {
var a = 5;
var a = 10;
}
在功能上等同于此代码,并a
提升:
function () {
var a;
a = 5;
a = 10;
}
推荐阅读
- python - 使用 BioPython 时,函数不会遍历整个列表
- azure - 在 Azure DevOps 中将依赖项复制到私有源
- node.js - Nodejs Puppeteer 没有启动
- node.js - NodeJS Loop 也不在等待 .then
- wpf - 如何使 WPF ListBox 中的项目水平和垂直换行
- javascript - 一次只显示数据库中的一项并循环显示其他项目
- repository - jfrog 工件“对象键:值对后的无效字符'”'
- typescript - 将 Typescript 升级到 3.8.2 后出现约束错误
- json - Hive json serde 选择
- html - 如何在没有背景图像的图像标签中制作视差效果?