面向对象。表示如何与对象交互。本例中的Javascript
我正在创建一个tic-tac-toe游戏来使用Javascript中的O-O代码,或者应该说是伪面向对象。我很难理解一个对象的表示,在这种情况下,每个网格单元都是一个对象。如何从单击单元格到告诉单元格对象在此处放置标记 这是我的html面向对象。表示如何与对象交互。本例中的Javascript,javascript,oop,Javascript,Oop,我正在创建一个tic-tac-toe游戏来使用Javascript中的O-O代码,或者应该说是伪面向对象。我很难理解一个对象的表示,在这种情况下,每个网格单元都是一个对象。如何从单击单元格到告诉单元格对象在此处放置标记 这是我的html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="e
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="scripts/tic-tac-toe.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="grid"></div>
</body>
</html>
下面是未完成的javascript页面:
var Grid = function() {
var cells = [];
// Todo: Finish
const WINNING_COMBINATIONS = new Array();
this.setup = function() {
for (var i = 0; i < 3; i++) {
cells.push(new Array());
for (var j = 0; j < 3; j++) {
var new_cell = new Cell();
cells[i].push(new_cell);
}
}
var grid_div = document.getElementById("grid");
var output = '';
for (var i = 0; i < cells.length; i++) {
for (var j = 0; j < cells.length; j++) {
output += cells[i].placeCell();
}
output += "<br />";
}
grid_div.innerHTML = output;
}
}
还有一个cell类,它有一个mark属性、一个用于显示内容的输出属性和一个setMark方法。因此,如果我单击了由output属性创建的单元格,我将如何引用被单击的单元格
提前谢谢。我正在考虑这个问题。当然,向每个事件添加一个事件处理程序来获取事件,但是使用诸如xpos和ypos之类的XML属性来获取它在网格中的位置。我只是不确定这是否是最好的方法。那么,我应该在Grid类中调用一个方法来调用Cell[x][y].placeMark或其他什么吗?谢谢你的帮助。我拿到了,效果很好。