如何传递原型函数并在javascript中使用

如何传递原型函数并在javascript中使用,javascript,parameter-passing,prototype,function-parameter,Javascript,Parameter Passing,Prototype,Function Parameter,我有一个Graph类,我想把它的原型函数传递给另一个函数。下面是该类的一个小代码片段 function Graph(opts) { this.filled = opts.filled; this.max = opts.max || 50; this.min = opts.min || 0; this.fixed = 60; //px this.transitionArr = []; this.timeoutArr = []; }; Graph.

我有一个
Graph
类,我想把它的原型函数传递给另一个函数。下面是该类的一个小代码片段

function Graph(opts) {
    this.filled = opts.filled;
    this.max = opts.max || 50;
    this.min = opts.min || 0;
    this.fixed = 60; //px

    this.transitionArr = [];
    this.timeoutArr = [];
};

Graph.prototype.stopAnimation = function() {
    //stop any css3 transition by removing animation properties
    this.removeAnimProps();
    //stop if there is any timeout
    for (var i = 0; i < this.timeoutArr.length; i++) {
        clearTimeout(this.timeoutArr[i]);
    }

    for (var i = 0; i < this.transitionArr.length; i++) {
        this.transitionArr[i].stop();
    }
};

然而,我不知道该怎么办。有什么帮助吗?

如果您已经有一组图形,则无需传递该函数

function iterateOverAll(){
    for (var i = 0; i < GraphArr.length; i++) {
        GraphArr[i].stopAnimation();
    }
}

iterateOverAll();
function iterateOverAll(){
对于(变量i=0;i
如果要将函数用作参数,可以按如下方式传递:

function iterateOverAll(callFunc){
    for (var i = 0; i < GraphArr.length; i++) {
        callFunc.apply(GraphArr[i],[]);
    }
}

iterateOverAll(Graph.prototype.stopAnimation);
函数整体迭代(callFunc){
对于(变量i=0;i

这将跨所有对象调用函数,但不带任何参数。我想你可以为任何参数修改这个函数。

我知道,但我有很多函数,比如
stopAnimation
。例如,
startAnimation
resetAnimation
resetGraph
。因此,我需要用一般的方法来做。谢谢。我不知道apply有这个功能。
function iterateOverAll(callFunc){
    for (var i = 0; i < GraphArr.length; i++) {
        callFunc.apply(GraphArr[i],[]);
    }
}

iterateOverAll(Graph.prototype.stopAnimation);