zoukankan      html  css  js  c++  java
  • 在一道有趣的面试题中了解变量提升和函数提升

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

    需要了解的内容:

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

    ②  函数表达式不可提升

    题目一:

    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);
    };
  • 相关阅读:
    第七周作业
    第六周作业
    CSS
    12 week work
    7 week work
    6 week work 3
    6 week work 2
    6 week work 1
    常用的网络服务小总结
    网络基础设置
  • 原文地址:https://www.cnblogs.com/cxuer/p/9056921.html
Copyright © 2011-2022 走看看