翼度科技»论坛 编程开发 JavaScript 查看内容

变量提升(hoisting)

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
  1. console.log(a); // undefined
  2. var a = 1;
复制代码
上面的代码首先使用 console.log 方法,在控制台显示变量 a 的值。这时变量 a 还没有声明和赋值,应该会报错,但实际上不会报错。因为存在变量提升,真正运行的是下面的代码。
  1. var a;
  2. console.log(a);
  3. a = 1;
复制代码
最后的结果是显示 undefined,表示变量 a 已经声明,但还未赋值。

来源:https://www.cnblogs.com/ladybug7/p/18238435
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具