如果可能,我想使用count
删除self.addOrbitTrap()
中的参数。在测试时我的代码做了类似的事情:
Bbrot.prototype.findMSet = function() {
//...code
var self = this;
canvasInterval = setInterval(function() {
self.addOrbitTrap();
}, 0);
}
var count = 0;
Bbrot.prototype.addOrbitTrap = function() {
//...code
if (count === 100) {
// Call a different function. That's why I use count
}
count++;
}
修改:更具体地说,我的代码中使用了count
来计算addOrbitTrap()
成功运行的次数(它不会如果随机选择的像素是Mandelbrot集的一部分,则添加轨道陷阱。在它运行了很多次后,我调用了一个不同的函数(来自addOrbitTrap()
内)。我宁愿不使用全局变量,因为count
在其他任何地方都没有使用过。
答案 0 :(得分:1)
只需在对象上创建变量并使用它。
Bbrot.prototype.count = 0;
Bbrot.prototype.findMSet = function() {
//...code
var self = this;
canvasInterval = setInterval(function() {
self.addOrbitTrap();
}, 0);
}
Bbrot.prototype.addOrbitTrap = function() {
if(ranSuccessful)
this.count++;
}
Bbrot.prototype.someOtherFunc = function() {
return this.count;
}
答案 1 :(得分:1)
您可以将count
作为findMSet
中传递给addOrbitTrap()
的本地变量引入;在每个时间间隔,该值将增加:
Bbrot.prototype.findMSet = function() {
//...code
var self = this,
count = 0;
canvasInterval = setInterval(function() {
self.addOrbitTrap(++count);
}, 0);
}
处理价值很简单:
Bbrot.prototype.addOrbitTrap = function(count) {
//...code
if (count === 100) {
// Call a different function. That's why I use count
}
}