Javascript 删除两个函数使用的全局变量
我在一个库文件中有这两个函数。一个启动倒计时,另一个停止倒计时。为了能够阻止它,我需要时间间隔的引用,因此必须使它成为全局的。当然这不是正确的方法。如果这些函数位于单独的实用程序文件中,应如何处理?谢谢Javascript 删除两个函数使用的全局变量,javascript,refactoring,Javascript,Refactoring,我在一个库文件中有这两个函数。一个启动倒计时,另一个停止倒计时。为了能够阻止它,我需要时间间隔的引用,因此必须使它成为全局的。当然这不是正确的方法。如果这些函数位于单独的实用程序文件中,应如何处理?谢谢 var timeInterval; exports.stopTimer = function() { clearInterval(timeInterval); }; exports.startTimer = function(duration, interval, displayElem
var timeInterval;
exports.stopTimer = function() {
clearInterval(timeInterval);
};
exports.startTimer = function(duration, interval, displayElem, cbFinished, cbInterval) {
var timer = duration * 60,
interval = interval * 60,
minutes,
seconds;
timeInterval = setInterval(function() {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
displayElem.text = minutes + ":" + seconds;
if (--timer < 0) {
clearInterval(timeInterval);
if (cbFinished) {
cbFinished();
}
}
if (timer == interval) {
if (cbInterval) {
cbInterval();
}
}
}, 1000);
};
var时间间隔;
exports.stopTimer=函数(){
clearInterval(时间间隔);
};
exports.startTimer=函数(持续时间、间隔、displayElem、cbFinished、cbInterval){
var定时器=持续时间*60,
间隔=间隔*60,
会议记录,
秒;
timeInterval=setInterval(函数(){
分钟=parseInt(计时器/60,10);
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
displayelm.text=分钟+“:”+秒;
如果(--定时器<0){
clearInterval(时间间隔);
如果(完成){
cbFinished();
}
}
如果(计时器==间隔){
if(cbInterval){
cbInterval();
}
}
}, 1000);
};
MakestartTimer
返回一个间隔,并停止计时器
取一个参数
utils.js
exports.startTimer = function (...) {
return setInterval(function () {
...
}, 1000);
};
exports.stopTimer = function (interval) {
clearInterval(interval);
};
var utils = require('./utils');
var timer = utils.startTimer();
utils.stopTimer(timer);
foo.js
exports.startTimer = function (...) {
return setInterval(function () {
...
}, 1000);
};
exports.stopTimer = function (interval) {
clearInterval(interval);
};
var utils = require('./utils');
var timer = utils.startTimer();
utils.stopTimer(timer);
使
startTimer
返回一个间隔,并stopTimer
在参数中取一个
utils.js
exports.startTimer = function (...) {
return setInterval(function () {
...
}, 1000);
};
exports.stopTimer = function (interval) {
clearInterval(interval);
};
var utils = require('./utils');
var timer = utils.startTimer();
utils.stopTimer(timer);
foo.js
exports.startTimer = function (...) {
return setInterval(function () {
...
}, 1000);
};
exports.stopTimer = function (interval) {
clearInterval(interval);
};
var utils = require('./utils');
var timer = utils.startTimer();
utils.stopTimer(timer);