如何在 jquery 中使用不同的值多次调用函数

how can call function multiple times with different values in jquery

我有一个函数,我想用不同的值同时调用它两次或多次,例如:

var stopClock = false;

function myTimer(clockTime, inClockFunction) {

    stopClock = false;
    ChatClock = {
        totalSeconds: 0,
        start: function () {
            this.interval = setInterval(function () {
                if (!stopClock) {
                    inClockFunction()
                }
                else {
                    ChatClock.pause();
                }
            }, clockTime);
        },
        pause: function () {
            clearInterval(this.interval);
            delete this.interval;
        }
    };  
    ChatClock.start();  
}

var time1 = 5000;
var func1 = function() {
   alert(time1)
   stopClock = true;
}
myTimer(5000, func1 )

var time2 = 8000;
var func2 = function() {
    alert(time2)
}
myTimer(8000, func2 )

func2 不会显示警报,因为 func1 中的 stopClock 变量更改为 true,如何使用不同的值多次调用?

您的变量 stopClock 是全局变量,因此两个函数都访问相同的变量值。仅在函数内部初始化变量,你应该没问题。这是 jsFiddle 给你的。

您的 javascript 有更多 public/private 变量和函数冲突。这是另一个 jsFiddle,所有这些(代码运行所必需的)都已修复。

var timeris = function myTimer(clockTime, inClockFunction) {

    var stopClock = false;
    var ChatClock = {
        totalSeconds: 0,
        start: function () {
            this.interval = setInterval(function () {
                if (!stopClock) {
                    stopClock = inClockFunction();
                }
                else {
                    ChatClock.pause();
                }
            }, clockTime);
        },
        pause: function () {
            clearInterval(this.interval);
            delete this.interval;
        }
    };  
    ChatClock.start();  
}

var time1 = 5000;
var func1 = function() {
   alert(time1);
   return true;
}
aa = new timeris(5000, func1 );

var time2 = 8000;
var func2 = function() {
    alert(time2);
    return false;
}
bb = new timeris(8000, func2 );