zoukankan      html  css  js  c++  java
  • 群聊天时学习到的两个JS知识(变量范围,Foreach顺序)

    今天在群里聊天的时候学习到了一些以前没有注意过的JavaScript知识,特记录下来。
    废话不说,请诸位先分别在FireFox以及IE下运行以下代码:

    代码
    1 <html>
    2  <head>
    3  </head>
    4  <body>
    5  <script type="text/javascript">
    6  function show()
    7 {
    8 var arr = [];
    9 arr[1] = "b";
    10 arr[0] = "a";
    11 arr[2] = "c";
    12 var str1 = str2 = "";
    13 for( var i = 0; i < arr.length; i++)
    14 {
    15 str1 += arr[i];
    16 }
    17 for( var i in arr)
    18 {
    19 str2 += arr[i];
    20 }
    21 alert("str1:" + str1);
    22 alert("str2:" + str2);
    23 }
    24
    25
    26
    27 show();
    28
    29 alert("str2:" +str2);
    30 alert("str1:" +str1);
    31
    32  </script>
    33  </body>
    34  </html>

    点击这里看结果


    原因分析:

    1)ECMA没有规定for( var i in arr)的顺序,所以不同浏览器的实现可能不同。所以为了得到确定的结果,各位以后还是按第一个循环的方式写吧(即用普通的For循环)。

    2)str1是局部变量,在函数外不能访问;str2是隐式创建的全局变量,所以在函数外也能访问。

  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/Learning2TipFromJSForest.html
Copyright © 2011-2022 走看看