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是隐式创建的全局变量,所以在函数外也能访问。

  • 相关阅读:
    求二维数组的最大子集和
    电梯调度《二》
    电梯调度问题
    BIEE 通过提示器选择展示列(列名接收表示变量)
    BIEE时间序列函数
    Python学习笔记(三)
    Python学习笔记(二)
    Python学习笔记(一)
    BIE前台常用设置
    BIEE 连接BW query query结构 引用
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/Learning2TipFromJSForest.html
Copyright © 2011-2022 走看看