我正在尝试在原型中的对象上定义函数,如下例所示:
function Particle = {
this.calculate.x = 0;
}
Particle.prototype.calculate.calculateX = function() {
//do calculation
}
var particle - new Particle();
如果我在浏览器控制台中探索粒子,'calculate'对象是可见的,但没有定义任何函数。
我错过了什么? 甚至可以用这种方式定义对象原型吗?
干杯!
答案 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
。