变量声明提升
释义
在js中存在着变量声明提升,在var声明的情况下,先定义变量赋值,后声明,程序并不会报错;且正常运行;在es6中已新增const,let两种声明方法,在此声明中不会出现声明提升的现象,若如此则会有报错,使程序无法运行;
示例
- 1 变量声明提升,变量赋值不会被覆盖;
a = 1; var c = 1; var a; console.log('a = ', a); // a = 1 - 2 变量声明提升,变量赋值不会被覆盖;
var c = 1; a= 2; var a; console.log('a = ', a); // a = 2
函数声明提升
释义
在js中存在变量声明提升,故也有函数声明提升,且函数声明提升会覆盖变量声明提升;
示例
- 1 函数声明提升,变量赋值不会被覆盖;
var c = 1; var a= 2; function a() { return true;}; console.log('a = ', a); // a = 2 - 2 函数声明提升,变量赋值不会被覆盖;
var c = 1; var a; function a() { return true;}; console.log('a = ', a); // a = function