向对象常量中定义的对象构造函数添加原型

吉姆·琼斯

嗨,所以我有一个对象构造函数方法和一个对象常量,我为构造函数定义了一个原型

objectLiteralKey:(function()
{
    var f=function()
    {
        ...
    };

    f.prototype=ObjectInstance;

    return f;
}()),
//inside an object literal

有什么理由应该避免这种定义原型的模式?或者也许是另一种更好的方式?

编辑:顺便说一下,对象字面量在一个拥有laserPrototype的自调用函数中,我把它放在那里,因为还有另一个“敌人”需要相同的原型

完整代码http://jsfiddle.net/m2DwT/

贝吉

有什么理由应该避免这种定义原型的模式?

不。除了可读性,也许。

或者也许是另一种更好的方式?

我认为您的代码中有太多不必要的立即调用的函数表达式,您可以省略。最好将构造函数放在原型之前:

var laser = (function () {
    var eLasers = []; // local variable declarations
    var pLasers = []; // for encapsulation

    function Player() {
        this.x = window.player.x; // wait, what? Maybe parameters
        this.y = window.player.y; // would fit better.
        pLasers.push(this);
        this.destroy = function () {
            pLasers.splice(pLasers.indexOf(this), 1);
        }
    }
    function Enemy() {
    }
    // here, Player.prototyp !== Enemy.prototype
    // but I don't think that is really necessary
    Player.prototype.draw = Enemy.prototype.draw = function() {
        ctx.beginPath();
        ctx.arc(this.x, this.y, 5, 0, 2 * Math.PI);
        ctx.stroke();
    };

    return {
        enemy: Enemy,
        player: Player,
        step: …
    }
}())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向对象常量中定义的对象构造函数添加原型

来自分类Dev

从对象构造函数调用原型定义的函数

来自分类Dev

向对象添加原型

来自分类Dev

向对象添加原型

来自分类Dev

在Javascript中向对象添加原型

来自分类Dev

在构造函数中向ArrayList添加新对象

来自分类Dev

在构造函数中向ArrayList添加新对象

来自分类Dev

原型对象的构造函数属性

来自分类Dev

Javascript原型对象构造函数

来自分类Dev

在JavaScript中向原型和对象文字添加函数之间的区别

来自分类Dev

为什么我们不能像在javascript中为对象常量那样向函数体内的函数对象添加属性?

来自分类Dev

如何从构造函数内部的原型对象中检索属性

来自分类Dev

将自定义函数添加到对象原型

来自分类Dev

为 Safari 中未定义的对象原型新添加的函数/属性

来自分类Dev

在 Serializable 类的构造函数中定义对象

来自分类Dev

Javascript:默认原型字段显示未定义的对象(使用null构造函数创建的对象)

来自分类Dev

从构造函数返回的对象没有原型

来自分类Dev

如何向原型添加对象键?

来自分类Dev

对象构造函数在重新定义构造函数的原型后指向原始构造函数而不是prototype.constructor

来自分类Dev

构造函数原型中新添加的函数在对象上调用时不起作用

来自分类Dev

在类级别上定义对象的引用并在构造函数中添加值

来自分类Dev

在类级别上定义对象的引用并在构造函数中添加值

来自分类Dev

向构造函数或原型添加属性之间的区别

来自分类Dev

向构造函数或原型添加属性之间的区别

来自分类Dev

如何在Node.JS中向响应对象添加自定义函数

来自分类Dev

通过Object.setPrototypeOf()向函数原型添加属性时,对象为空

来自分类Dev

如何向对象添加函数?

来自分类Dev

原型被分配对象常量与函数之间的区别

来自分类Dev

如何在javascript对象构造函数中调用self原型函数

Related 相关文章

  1. 1

    向对象常量中定义的对象构造函数添加原型

  2. 2

    从对象构造函数调用原型定义的函数

  3. 3

    向对象添加原型

  4. 4

    向对象添加原型

  5. 5

    在Javascript中向对象添加原型

  6. 6

    在构造函数中向ArrayList添加新对象

  7. 7

    在构造函数中向ArrayList添加新对象

  8. 8

    原型对象的构造函数属性

  9. 9

    Javascript原型对象构造函数

  10. 10

    在JavaScript中向原型和对象文字添加函数之间的区别

  11. 11

    为什么我们不能像在javascript中为对象常量那样向函数体内的函数对象添加属性?

  12. 12

    如何从构造函数内部的原型对象中检索属性

  13. 13

    将自定义函数添加到对象原型

  14. 14

    为 Safari 中未定义的对象原型新添加的函数/属性

  15. 15

    在 Serializable 类的构造函数中定义对象

  16. 16

    Javascript:默认原型字段显示未定义的对象(使用null构造函数创建的对象)

  17. 17

    从构造函数返回的对象没有原型

  18. 18

    如何向原型添加对象键?

  19. 19

    对象构造函数在重新定义构造函数的原型后指向原始构造函数而不是prototype.constructor

  20. 20

    构造函数原型中新添加的函数在对象上调用时不起作用

  21. 21

    在类级别上定义对象的引用并在构造函数中添加值

  22. 22

    在类级别上定义对象的引用并在构造函数中添加值

  23. 23

    向构造函数或原型添加属性之间的区别

  24. 24

    向构造函数或原型添加属性之间的区别

  25. 25

    如何在Node.JS中向响应对象添加自定义函数

  26. 26

    通过Object.setPrototypeOf()向函数原型添加属性时,对象为空

  27. 27

    如何向对象添加函数?

  28. 28

    原型被分配对象常量与函数之间的区别

  29. 29

    如何在javascript对象构造函数中调用self原型函数

热门标签

归档