欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript之变量提升

程序员文章站 2022-04-04 22:55:14
...

JavaScript 变量提升

在JavaScritp中,函数和变量的声明都将被提升到函数的最顶部。
在JavaScript中,变量可以在使用后声明,也就是变量可以先使用在声明。

console.log(x);// undefined
var x;
console.log(x);// undefined

结果显示:无论var 变量声明处于顶部或尾部,它都会被提升到最顶部。

x=5; // ReferenceError:x is not defined
console.log(x);

因未声明变量x,故变量赋值报错。

x=5; 
console.log(x);// 5
var x;

而在尾部声明了变量x后,却可在顶部给变量x赋值。

JavaScript 初始化不会提升

JavaScript 只有声明的变量会提升,初始化的不会提升。

console.log(x);// undefined
var x=5;
console.log(x);// 5

因JavaScript的变量提升,故第一个打印显示为undefined,接下来对变量的赋值/初始化并没有提升,因此第二个打印显示为5

避免变量提升

  • 在作用域开始前声明变量:易于理解
  • ES6的let和const命令不会有变量提升
相关标签: JavaScript