• JavaScript 变量and函数提升机制


    • JavaScript变量作用域,看一下代码,(变量提升链接在下方↓)
      <script type="text/javascript">
        var a = 5&&6;
        alert(a);  // 6
        function getB()
        {
          var a = 7;  //我个人理解 var 声明变量的时候应该是 决定了变量的作用域。当在函数内部再次声明变量a的时候,这个a 和 函数外部的a 就不是一个变量了,所以打印的值也不一样。全局作用域的a还是使用全局作用域的a的值
          alert(a);  //7
        } 
        getB();
        alert(a);   //6
      </script>
      // output  6  7  6
      
      <script type="text/javascript">
        var a = 5&&6;
        alert(a);
        function getB()
        {
          a = 7;  //而在函数内部如果没有重新var 声明的话,就是还使用全局作用域的变量a ,所以函数里修改a 的值,也就是修改全局作用域的a 的值。后面打印a 的值也变了。
          alert(a);
        } 
        getB();
        alert(a);
      </script>
      //output  6  7  7
    • 像PHP中是不允许在同一个作用域中声明两个同名函数的;而JavaScript 却可以这样做,同作用域下后面函数会覆盖前面的函数。
    • 变量提升and函数提升:https://www.cnblogs.com/liuhe688/p/5891273.html
  • 相关阅读:
    完整的开源和商业软件平台
    免费开源的文件比较/合并工具
    Javascript面向对象基础
    Javascript面向对象基础
    引入外部js获取dom为null的问题
    闭包函数
    初识对象
    构造函数
    内置对象
    Math对象
  • 原文地址:https://www.cnblogs.com/bneglect/p/12151911.html
Copyright © 2020-2023  润新知