【问题标题】:Why isn’t this array access working?为什么这个数组访问不起作用?
【发布时间】:2017-06-09 07:46:49
【问题描述】:

为什么这种方法访问不起作用?无论我们在方法中写入什么,点击都不会执行我们想要的。

<html>

<head>
  <script language="JavaScript">
    var Spiel1 = new TicTacToe();

    function TicTacToe() {
      var spielfeld = new Array[3][3];
      var zaehler = 0;
      this.Setzen = function(x, y) {
        document.getElementById("r0p0").innerHTML = "X";
      }
    }
  </script>
</head>

<body>
  <table>
    <tr>
      <td id="r0p0" onclick="Spiel1.Setzen(0,0)"></td>
    </tr>
  </table>
</body>

</html>

【问题讨论】:

标签: javascript arrays


【解决方案1】:

就这样吧:

spielfeld = new Array(3);
for (var i = 0 ; i< 3; i++){
 spielfeld[i] =  new Array(3);
}

或者只是

spielfeld = [[,,,],[,,,],[,,,]];

注意这里有 3 个逗号,因为这个数组 [,,] 只有 2 个元素!!

因为这并不重要..

【讨论】:

    【解决方案2】:

    var spielfeld = new Array[3][3]; 中有错误如果删除此行,您的代码将起作用。

    如何定义多维数组?

    var spielfeld = new Array();
    spielfeld[0] = new Array();
    spielfeld[1] = new Array();
    

    另一种方式,如果要在声明时初始化数组:

    var a = new Array([1,2,3], [4,5,6], [7,8,9]);
    var b = [[1,2,3], [4,5,6], [7,8,9]];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多