• 在一道有趣的面试题中了解变量提升和函数提升


    以下两道题目一样,实际上只是一道题目只是打印输出的位置不同:

    需要了解的内容:

    ①  在浏览器进行编译的时候,变量声明和函数声明都会提升,并且函数声明的提升优先级大于变量声明的提升

    ②  函数表达式不可提升

    题目一:

    var getName = function() {
      console.log(4);
    };
    function getName() {
      console.log(5);
    }
    getName();  //4

    //相当于
    function getName() { // 函数声明的提升大于变量声明的提升 console.log(5); } var getName; getName = function() { // 函数表达式不会提升 console.log(4); }; getName(); // 4

    题目二:

    getName();  //5
    var getName = function() {
        console.log(4);
      };
      function getName() {
        console.log(5);
      }
    
    // 相当于:
    function getName() {
      console.log(5);
    }
    var getName;
    getName();    // 5
    getName = function() {   
      console.log(4);
    };
  • 相关阅读:
    svg文件使用highmap显示
    动静分离
    angular 零碎
    使用doxmate生成文档
    javascript之console篇
    java 中String与StringBuilder 效率
    highcharts 组合chart
    js 攻坚克难
    html base 又一重大发现
    sql 分析 依赖beanutils
  • 原文地址:https://www.cnblogs.com/cxuer/p/9056921.html
Copyright © 2020-2023  润新知