在同一JavaScript类[Prototype]中调用方法

在同一JavaScript类[Prototype]中调用方法,javascript,prototypejs,Javascript,Prototypejs,我已经使用prototype类在Javscript中创建了一个类。Create complete带有initialize函数和一些其他函数。但是,在我的一个函数中,我想引用同一类中的另一个函数,但似乎无法获得正确的语法 e、 g 我尝试调用functo(),this.functo(),但没有任何效果,我只是遇到了错误。我知道当类被实例化时如何在外部调用函数,但不从类本身引用函数 谢谢 这个.functionA() 是从同一对象的另一个方法中调用该对象的方法的正确方法 但什么都不管用,我只会出错

我已经使用prototype类在Javscript中创建了一个类。Create complete带有initialize函数和一些其他函数。但是,在我的一个函数中,我想引用同一类中的另一个函数,但似乎无法获得正确的语法

e、 g

我尝试调用functo(),this.functo(),但没有任何效果,我只是遇到了错误。我知道当类被实例化时如何在外部调用函数,但不从类本身引用函数

谢谢

这个.functionA()

是从同一对象的另一个方法中调用该对象的方法的正确方法

但什么都不管用,我只会出错

什么错误?如果您得到的是“未找到属性函数”,则可能是
指向错误的位置。使用Firebug或一些
警报
​让我们来看看是什么。一个常见的问题是,您已将方法的函数从所有者对象分离,并将其传递给其他对象:

element.onclick= this.functionB;
在这种情况下,当调用
函数b
时,
将被取消设置,因此将默认设置为
窗口
。这是因为JavaScript中的
object.methodname
与许多其他现代脚本语言不同,它只提供未绑定的函数对象,而不是绑定的方法

保存
这个
的简单方法是
函数。这个
由Prototype引入,现在是JavaScript的标准化部分(很快就会出现在您附近的浏览器脚本引擎中)

element.onclick= this.functionB.bind(this);
这个.functionA()

是从同一对象的另一个方法中调用该对象的方法的正确方法

但什么都不管用,我只会出错

什么错误?如果您得到的是“未找到属性函数”,则可能是
指向错误的位置。使用Firebug或一些
警报
​让我们来看看是什么。一个常见的问题是,您已将方法的函数从所有者对象分离,并将其传递给其他对象:

element.onclick= this.functionB;
在这种情况下,当调用
函数b
时,
将被取消设置,因此将默认设置为
窗口
。这是因为JavaScript中的
object.methodname
与许多其他现代脚本语言不同,它只提供未绑定的函数对象,而不是绑定的方法

保存
这个
的简单方法是
函数。这个
由Prototype引入,现在是JavaScript的标准化部分(很快就会出现在您附近的浏览器脚本引擎中)

element.onclick= this.functionB.bind(this);

同意bobince,但您需要使用Event.observe()语法来附加事件处理程序,而不是分配给元素的onclick属性。例如:

element.observe('click', this.functionB.bind(this));

同意bobince,但您需要使用Event.observe()语法来附加事件处理程序,而不是分配给元素的onclick属性。例如:

element.observe('click', this.functionB.bind(this));