函数声明提升,变量声明提升

变量声明提升

释义

在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

猜你喜欢

转载自www.cnblogs.com/GoLakers/p/11452214.html