在原型中的对象上定义的函数

时间:2012-03-29 19:42:50

标签: javascript

我正在尝试在原型中的对象上定义函数,如下例所示:

function Particle = {
  this.calculate.x = 0;
}

Particle.prototype.calculate.calculateX = function() {
   //do calculation
}

var particle - new Particle();

如果我在浏览器控制台中探索粒子,'calculate'对象是可见的,但没有定义任何函数。

我错过了什么? 甚至可以用这种方式定义对象原型吗?

干杯!

2 个答案:

答案 0 :(得分:1)

尝试这种方式:

function Particle() {
  this.calculate.x = 0;
}

Particle.prototype.calculate = {
    calculateX: function() {
        //do calculation
    }
}

var particle = new Particle();

答案 1 :(得分:0)

通过访问构造函数中的calculate,您根本没有在原型上定义this.calculate。事实上你的语法是完全错误的。

function Particle = {
};

应该是

function Particle() {
}

在构造函数中访问this只是将东西写入该实例对象,而不是其.prototype