javascript - 对象 Javascript 的几个实例

标签 javascript

我想创建这个类的几个实例

var fruit = {
    texture: new Image(),
    speed: 5,
    x: 0,
    y: 0,
};
function fruits(speed, x, y) 
{
    fruit.speed = speed;
    fruit.x = x;
    fruit.y = y;
    return fruit;
};

但是当我创建新对象时,所有值都被最后创建的对象覆盖了。我该如何修复? 我的循环:

var apples = [];

for(var i = 0; i < 10; i++)
{
    apples[i] = new fruits(5, Math.floor((Math.random()*775)+1), 0);
    apples[i].texture.src = "_img/apple.png";
}

最佳答案

这里出现的其他答案很奇怪。这是解决方案:

function fruits(speed, x, y) 
{
    this.texture = new Image( );
    this.speed = speed;
    this.x = x;
    this.y = y;
};

请注意关键字this 用于设置属性。这意味着当你调用

var apple = new fruits( blah blah );

然后 apple 将被设置为一个新对象,该对象具有 texturespeedxy 属性。不需要引用一些全局对象来存储这些;它们存储在新创建的对象本身中。

另外我会重命名它;惯例是对对象使用单数名称和首字母大写,因此 Fruit 会更有意义(允许 new Fruit(...))

关于javascript - 对象 Javascript 的几个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313266/

相关文章:

javascript - JSON 编码 Flask 到 Javascript

javascript - 在图像上的绝对定位文本 block 中添加换行符以创建文本条

javascript - Chai 期望结果等于三个选项之一

javascript - 在 Angular 4 的函数中打开模态对话框

javascript - 从学位类(class)中解析文本方式的类(class)?

javascript - 查询以匹配数组输入

JavaScript 显示/隐藏为 div 列表的过滤器

javascript - eslint 错误一元运算符 '++' 使用 no-plusplus

javascript - jquery 计算元素

javascript - Facebook Like 和 Google +1 按钮在部分回发时消失