变量提升简单理解

js里面函数和变量的声明被提升到函数的最顶部
变量可以先使用,再声明

x = 5; // 变量 x 设置为 5

elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x;                     // 在元素中显示 x

var x; // 声明 x

但是声明时被初始化了的变量不会被提升,例如

var x = 5; // 初始化 x

elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x + " " + y;           // y 是 undefined

var y = 7; // 初始化 y

js的变量提升(标识符提升)是一个“低劣”的设计,使用中会产生许多困扰,因此es6引入let和const来解决这个问题

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用更合理的方式写 JavaScript 目录 声明变量 对象 数组 字符串 函数 箭头函数 模块 迭代器和生成器 ...
    小红依阅读 5,796评论 0 5
  • 特别说明,为便于查阅,文章转自https://github.com/getify/You-Dont-Know-JS...
    杀破狼real阅读 3,658评论 0 0
  • 第一章:块级作用域绑定 块级声明 1.var声明及变量提升机制:在函数作用域或者全局作用域中通过关键字var声明的...
    BeADre_wang阅读 4,394评论 0 0
  • 我只是想写一点东西,也许是刚刚看到简友在我其他文章下的留言,又或许我迫切的想要坚持写一点关于我孩子的成长,总之我是...
    就是九月阅读 1,594评论 0 1
  • Q1:南方的蟑螂很可怕吗? Q2:南方人洗澡都穿着内裤吗? Q3:按摩是正经按摩吗?
    毒舌君_阅读 4,014评论 0 0

友情链接更多精彩内容