• 你不知道的var! 细节


    关键字: var,function ,let, 全局作用域(window),变量提升

    直接先来3道题,如果都会,本篇文章可以直接pass

    1. console.log(a);
      var a = 12;
      a = 14;
      console.log(a);
      
    2. console.log(a);
      let a = 12;
      console.log(a);
      
    3. var a = 12;
      console.log(a);
      console.log(window.a);
      
    4. console.log(sum(1,2));
      function sum(n,m){
        return n+m;
      }
      
      
    5. console.log(sum(1,2));
      var sum = function(n,m) {
        return n+m;
      }
      console.log(sum(1,2));
      

    看完这些题你的答案是什么?里面涉及的知识点有哪些?

    • 答案

      1. undefined 14
      2. 报错
      3. 12 12
      4. 3
      5. 报错

    知识点

    • var 和function会存在变量提升, 区别是 var只是提前声明没有提前赋值; 而function会提前声明并且赋值,也就是让这个函数提前定义。但是使用”函数表达式的形式不会发生提前定义的情况“
    • 在全局作用域下使用var声明,例如var b = 12; 相当于window.a = 12;
    • 代码执行报错了,不会再向下执行了!!!!!答题时切记!!
    慢慢来,比较快!基础要牢,根基要稳!向大佬致敬!
  • 相关阅读:
    UPC2018组队训练赛第十二场
    ACM-ICPC 2018南京赛区网络预选赛
    UPC2018组队训练赛第十一场
    UPC2018组队训练赛第十场
    UPC2018组队训练赛第九场
    linux 用简单密码
    设置分辨率
    packstack
    rbenv
    elasticsearch
  • 原文地址:https://www.cnblogs.com/rookie123/p/14286608.html
Copyright © 2020-2023  润新知