天天看点

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

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

  • 变量声明提升
    • 释义
    • 示例
  • 函数声明提升
    • 释义
    • 示例

变量声明提升

释义

在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