Javascript 观看活动
在javascript中,我知道我们可以监视属性的变化,但是可以监视函数吗 如果我有一个计算结果为boolen的函数Javascript 观看活动,javascript,watch,Javascript,Watch,在javascript中,我知道我们可以监视属性的变化,但是可以监视函数吗 如果我有一个计算结果为boolen的函数 function eval(value) { return value == 1; } 是否有可能持续评估此函数,直到其为真 我知道setTimeout可以工作,但这看起来像是一个黑客。有更好的方法吗?有两种可能的方法,第一种是你的,设置超时。第二个是设置间隔: var checkEval = setInterval(function(){eval(value)},10
function eval(value) {
return value == 1;
}
是否有可能持续评估此函数,直到其为真
我知道setTimeout可以工作,但这看起来像是一个黑客。有更好的方法吗?有两种可能的方法,第一种是你的,设置超时。第二个是设置间隔:
var checkEval = setInterval(function(){eval(value)},1000);
您可以使用以下方法结束它:
clearInterval(checkEval);
用包装器替换函数
function something(){
return value==1;
}
(function(window){
var oldSomething = window.something;
window.something = function(){
var result = oldSomething.apply(null,arguments);
if(result===true){
//do what you need
}
return result;
};
})(window);
这是唯一的方法“…可以观看功能?”观看它做什么?您是否希望函数或其返回值发生更改?(例如,因为它的返回值是基于它关闭的东西。)不确定你所说的手表是什么意思,也许你应该更具体一些或者提供一个用例。有类似angular和knockout的框架用于“监视”函数/变量值。您还可以查看函数部分。这可能会有帮助。你认为什么是“持续的”?无限循环可能无法工作…请更改函数名!我想这会引起歧义