zoukankan      html  css  js  c++  java
  • 一道基础的for语句js编译过程

    引:一道基础js(出自pplive的一道面试题)

      <script type="text/javascript">
        var msg = "Hello";
        function great(name,attr){
          name = "Nick";
          var greating = msg + name + "!";
          var msg = "welcom";
          for(var i =0;i<10;i++){
            var next = msg + " your id is : " + i*2 + i;
          }
          console.log(arguments[0]);  //A
          console.log(arguments[1]);  //B
          console.log(greating);      //C
          console.log(next);        //D
        }
        great("Tom");
      </script>

      A : arguments[0]:即函数的第一个参数。Nick, 而不是Tom,函数内定义的同名变量会覆盖传入的参数。

      B : arguments[1]:很明显第二个参数undefined.

      C : greating = msg + name + "!";   msg根据作用域的含义,本function未找到,会到父层查找,So msg = "Hello"; ×××× 

        函数里面的所有变量其实都会变量声明提前,上面的

        var msg = "welcom"; 就等于

        var msg ;

        msg = "welcome";  // 所以这里应该是 undefinedNick! 而不是 HelloNick!

      D : var next = msg + " your id is : " + i*2 + i;

        这句,msg = welcome; 至于 i * 2 + i 应该是9*2+9吧?××××   那又想当然的错了,之前已经很多次的了解到,如何让一个数字转换为字符串?   

        如:var a = 123;

          var b = a +"";

          console.log(typeof b);//这里得到 string...说明任何一个变量 加上 一个字符串都会转化为字符串!!!

          所以上面的 next 应该是 "welcome your id is : 189"

  • 相关阅读:
    python实现矩阵的点乘,转置与求逆
    C#用嵌套的 for 循环实现打印图形
    visual studio 2019的安装方法
    人工智能之python实现函数微积分
    人工智能之python实现矩阵运算
    人工智能之实现简单神经网络之数据解析和可视化
    人工智能之实现简单神经网络之权重更新算法
    ubuntu服务器版相关命令
    php的windows各版本客户端下载
    谷歌快捷工具地址
  • 原文地址:https://www.cnblogs.com/ywwloveys/p/7752917.html
Copyright © 2011-2022 走看看