【发布时间】:2016-08-21 01:04:03
【问题描述】:
所以我现在正尝试在 javascript 中重新创建 2048 并且遇到了一些问题。基本上,我的想法是将网格创建为一个由 16 个对象组成的数组,这些对象采用坐标和一个布尔变量来判断是否填充了瓷砖。
var blocks = [];
var block = function block(xcord, ycord, filled) {
this.xcord = xcord;
this.ycord = ycord;
this.filled = filled;
};
function createGrid(){
for (i = 0; i < 4; i++){
for (j = 0; j < 4; j++){
blocks.push(block(i+1, j+1, false));
}
}
}
但是,当我尝试打印块的分配值时,它说它们是未定义的
console.log(blocks[0].String(xcord));
给我
"TypeError: Cannot read property 'String' of undefined
at raqixa.js:180:47
at https://static.jsbin.com/js/prod/runner-3.35.12.min.js:1:13891
at https://static.jsbin.com/js/prod/runner-3.35.12.min.js:1:10820"
【问题讨论】:
-
除了下面的答案之外,您还应该按照约定将构造函数的名称大写...例如 Block.另外,双重名称分配有什么意义..?
-
大写。双重名称分配是什么意思?调用变量和函数“块”?
-
是的,您不需要将其作为常见做法。对你的手指有好处。
标签: javascript arrays object 2048