Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaScript如何按条件执行方法?_Javascript_Events_Handler - Fatal编程技术网

javaScript如何按条件执行方法?

javaScript如何按条件执行方法?,javascript,events,handler,Javascript,Events,Handler,当全局变量达到某个值时,我必须执行javascript方法,例如,如果x=10,则执行doSomething;每次成功的异步请求后,可以从多个位置增加变量。JavaScript不提供本机数据绑定功能,您必须依赖轮询: globalVar = 0; setInterval(function(){ if (globalVar >= 10) { globarVarChangeHandler(); } }, 100); 在上面的代码中,我定义了一个每100毫秒执行一次的函数,如果glo

当全局变量达到某个值时,我必须执行javascript方法,例如,如果x=10,则执行doSomething;每次成功的异步请求后,可以从多个位置增加变量。

JavaScript不提供本机数据绑定功能,您必须依赖轮询:

globalVar = 0;

setInterval(function(){

if (globalVar >= 10) {
  globarVarChangeHandler();
}

}, 100);

在上面的代码中,我定义了一个每100毫秒执行一次的函数,如果globalVar已达到最小值10,则将调用一个假设的globarVarChangeHandler。

一个没有任何计时器或轮询的解决方案:

var X = {    // global variable
    value: 0,
    set: function(v) {
             X.value = v;
             if (X.value == 10) { 
                 // do what you like, e.g.
                 alert("X == 10"); 
             }
          }
 };

 X.set(3);
 X.set(X.value + 7);  // "do what you like" gets executed

与其使用全局变量,不如使用带有display:none的输入文本字段,并更新该字段的值。您可以在此字段上应用onchange事件来触发您的剂量测量方法

这与您在不到一小时前提出的问题基本相同吗@Jamesalardice是的,但那是关闭的。@JuanMendes-最好是编辑原始问题并将其放到可以重新打开的状态,而不是创建一个新问题。既然原来的问题已经被删除了,现在就不重要了。哎呀,轮询变量的变化?请不要使用这个。它可以工作,但不需要DOM元素,这太过分了