好的,所以我有两个类。 类1包含一个特定的函数,它访问一些类的属性。这是什么样子:将类函数作为参数传递给另一个类,用作JavaScript中的回调函数
function class1() {
this.variable = "something";
}
class1.prototype.callback = function() {
console.log(this.variable); // Returns undefined
}
2级可以调用它被赋予任何功能,如下所示:
function class2() {}
class2.prototype.caller = function(callback) {
callback();
}
然后在我的规则的Javascript我这样做:
var c1 = new class1();
var c2 = new class2();
c2.caller(c1.callback);
它应该返回“某些东西”,但它会抛出一个未定义的错误。我知道这是因为它在class2的范围内,它试图访问那里的变量,但是我不知道如何让它在class1的范围内执行。
任何帮助,非常感谢!
不分配在构造函数中'prototype'方法。 – Pointy 2014-12-01 15:59:41
尖刺是正确的,原型的目的是为了避免在每个instanciation被定义。 – axelduch 2014-12-01 16:00:20
谢谢,我不知道。我会编辑我的课程:) – Qub1 2014-12-01 17:02:58