Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在原型中的对象上定义的函数_Javascript - Fatal编程技术网

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

Javascript 在原型中的对象上定义的函数,javascript,Javascript,我试图在原型中的对象上定义函数,如本例所示: function Particle = { this.calculate.x = 0; } Particle.prototype.calculate.calculateX = function() { //do calculation } var particle - new Particle(); 如果我在浏览器控制台中探索粒子,“计算”对象可见,但没有在其上定义任何函数 我错过了什么? 甚至可以用这种方式定义对象原型吗 干杯 通过

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

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

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

var particle - new Particle();
如果我在浏览器控制台中探索粒子,“计算”对象可见,但没有在其上定义任何函数

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


干杯

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

function Particle = {
};
应该是

function Particle() {
}
在构造函数中访问
这个
,只会将内容写入实例对象,而不是它的
.prototype

试着这样做:

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

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

var particle = new Particle();

我打赌你会遇到一些语法错误。。。先把它们修好。