根据条件重新加载javascript函数

根据条件重新加载javascript函数,javascript,Javascript,有没有办法在if条件下重新加载javascript函数? 例如,假设我有一个函数 runCode(){ //do something } 首先我试过 setInterval(function(){ runCode(); },1000); 但我不希望它在一定时间内重新加载,而是在if条件下 假设我有一个函数,它根据用户在文本区域中输入的内容(例如!)有时返回true,有时返回false。因此,在这种情况下,我希望能够在用户输入后检查它是否更改为true或viceversa,如果它为

有没有办法在if条件下重新加载javascript函数? 例如,假设我有一个函数

runCode(){
    //do something
}
首先我试过

setInterval(function(){
  runCode();
},1000);
但我不希望它在一定时间内重新加载,而是在if条件下

假设我有一个函数,它根据用户在文本区域中输入的内容(例如!)有时返回true,有时返回false。因此,在这种情况下,我希望能够在用户输入后检查它是否更改为true或viceversa,如果它为true,我需要重新加载函数
runCode()

您尝试过吗

if (expression) {
    runcode();
}
是的。。 您可以在if范围内调用该函数

if(condition){
runCode();
}

更改值后,可以使用setter运行函数:

function sayHello(){
  alert('hello!');
}

Object.defineProperty(window, 'condVar', {
  get: function() {
    return this._condVar;
  },
  set: function(value) {
    if(value === 123)
      sayHello();
    this._condVar = value;

  }
});

alert('setting 123');
condVar = 123;

alert('setting abc');
condVar = 'abc';

alert('setting 123');
condVar = 123;

关于setter的更多信息:

你绝对可以做到。。在if范围内调用该函数。您的条件是什么?请澄清您的问题。您接受的答案只是将函数调用包装在
if
语句中。要么立即执行函数,要么不执行,就是这样。当条件变为真时,它不会“观察”条件并执行函数——这是我个人想象的,当我阅读你的问题时,你可能会问的问题。你能更具体地说明你想要什么吗?@torazaburo我接受了这个答案,因为它是有效的。问题是它需要很长时间才能执行,我不知道为什么。假设我有一个函数,它根据用户在文本区域中输入的内容(例如!)有时返回true,有时返回false。因此,在这种情况下,我希望能够在用户输入后检查它是否更改为true或viceversa,如果它为true,我需要重新加载函数
runCode()
。我对这个答案感到困惑,更重要的是,为什么它会被接受。从OP的问题来看,他似乎在寻找一种替代等待时间的方法,换句话说,等待一个条件得到满足,而不是等待一段特定的时间。这听起来像是对我的承诺。我回答了我所理解的问题。我们将不得不等待他澄清,但“重新加载”这个词似乎是一个线索。