zoukankan      html  css  js  c++  java
  • js变量提升函数提升

    1,变量声明提升

    所有的声明变量或声明函数都会被提升到当前函数的顶部,特别的只是变量或者函数的声明,并不包括赋值。

    console.log(x);
    var x = 1;
    //打印出undefined

    相当于

    var x;
    console.log(x);
    x = 1;

    这些转化是发生在js预编译时,代码执行之前。

    2,函数声明提升

    函数其实也是变量的一种,不过他有两种声明方式

    • 函数声明
    • 函数表达式
    //函数声明
    function fun(){
    
    }
    //函数表达式
    var fun = function(){
    
    }

    正常情况下,我们使用两种写法,没有区别。

    但是提到函数提升,他们的区别就出现了。

    函数声明有函数提升,函数表达式却没有

    var fun = function(){
        console.log(‘表达式’);
    }
    function fun (){
        console.log('函数声明');
    }
    fun();

    上面这段代码,输出的最终是‘表达式’,结合变量提升很容易理解,相当于一下代码执行顺序:

    function fun (){
        console.log('函数声明');
    }
    
    var fun = function(){
        console.log(‘表达式’);
    }
    
    fun();
  • 相关阅读:
    系统引导管理器GRUB,为初学者指南
    PHPBB安装
    python的装饰器
    PIL的问题解决
    python的小技巧
    强烈推荐instagram的ppt
    新的一天
    OpenStack介绍
    ansible自动化运维工具
    .net连oracle的问题
  • 原文地址:https://www.cnblogs.com/perallina/p/7171481.html
Copyright © 2011-2022 走看看