在蛇游戏中,
var snake;
snake.prototype.test = [];
snake.test.push(1);
console.log(snake.test[0]);
这不会在控制台中返回1,任何人都知道为什么?有人可以帮忙吗?
答案 0 :(得分:2)
原型来自构造函数。这显示了实例如何访问原型成员。
// create a constructor function
var Snake = function () {};
// add to the prototype of Snake
Snake.prototype.test = [];
// create a new instance of a Snake
var aSnake = new Snake();
// aSnake has access to test through the prototype chain
aSnake.test.push(1);
console.log(aSnake.test[0]);
// so do other snakes
var anotherSnake = new Snake();
console.log(anotherSnake.test[0]);
答案 1 :(得分:1)
您可以创建一个简单的对象:
var snake = {
test: []
};
snake.test.push(1);
console.log(snake.test[0]);
谢:D
答案 2 :(得分:0)
在您的示例中,snake
不是构造函数,也没有创建新实例。
如果您想继续沿着这条路走下去,您可能想要阅读面向对象的JavaScript。但是现在,创建单个对象实例不是更简单吗?
var snake = {};
snake.test = [];
snake.test.push(1);
console.log(snake.test[0]);