我试图定义这个类,然后实例化它并调用它的一些方法。
function Layer(){
this.image = null;
this.owned = false;
this.sim = false;
this.pos = 0.5;
this.vel = 0;
this.acc = 0;
this.lastup = millis();
this.newpos = 0;
this.scrub = scrub;
function scrub(npos){
this.newpos = npos;
this.vel = 0;
this.acc = 0;
}
}
dummy = new Layer();
dummy.scrub(0.8);
// chrome says Uncaught TypeError: Object #<an Object> has no method 'scrub'
我是否正确定义了方法?
答案 0 :(得分:2)
您没有正确定义方法。而不是:
this.scrub = scrub;
function scrub(npos){ ... }
应该是:
this.scrub = function(npos){ ... }
或者你可以完全摆脱 this.scrub = scrub;
行。
答案 1 :(得分:1)
如果您希望它们可以“从外部”调用,则必须定义函数:
this.scrub = function(npos) { ... }