Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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/jquery中的函数?_Javascript_Jquery - Fatal编程技术网

如何在变量更改或位置更改时调用javascript/jquery中的函数?

如何在变量更改或位置更改时调用javascript/jquery中的函数?,javascript,jquery,Javascript,Jquery,我是javascript新手。在我使用的面向对象的SDK中制作应用程序,我感觉很舒服。一直在网上寻找一些简单问题的解决方案,但似乎找不到答案 当变量达到特定值或对象达到特定坐标时,如何调用函数 在上面提到的SDK中,我只想说: 如果myVariable=10 做点什么 或 如果object.position.y=90 做点什么 Javascript似乎不是这样工作的?似乎您只能在mousclick或mouseover等事件上调用函数?如何在不使用事件的情况下调用函数 谢谢你的帮助 您的回答似乎是

我是javascript新手。在我使用的面向对象的SDK中制作应用程序,我感觉很舒服。一直在网上寻找一些简单问题的解决方案,但似乎找不到答案

当变量达到特定值或对象达到特定坐标时,如何调用函数

在上面提到的SDK中,我只想说:

如果myVariable=10 做点什么

或 如果object.position.y=90 做点什么

Javascript似乎不是这样工作的?似乎您只能在mousclick或mouseover等事件上调用函数?如何在不使用事件的情况下调用函数

谢谢你的帮助

您的回答似乎是说我只是从if语句调用函数。(这正是我所期望的!)。但是我做的每个测试都不会触发函数,就像下面的示例中的函数hello不会触发一样。我做错了什么

var count = 0;

function hello()
{
    console.log("hello");
}

setInterval(function ()
{ 
   count++;
   console.log(count);
}, 2000); 

if(count==2)
{
    hello();
}

调用函数?那很容易。您可以使用
functionName()
调用函数。像这样:

if (myVariable == 10) {
  doSomething();
}

if (object.position.y == 90) {
  moveObject(object);
}

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

function moveObject(object) {
  object.position.y = 85;
}
*编辑:

好的,根据您的代码示例,问题在于
setInterval()
在没有上下文的情况下执行函数,因此周围代码中的
count
变量永远不会更改。另一个次要问题是,您周围的脚本在计数上升到非常高之前就完成了执行,即使它被正确地引发

您可以通过使用中间函数或闭包来解决这个问题。关于前者,请参见此示例


更多阅读材料。

嗨,谢谢你的回复。我了解如何编写if语句。但是函数似乎并不是单从if语句触发的?你的答案可能就在这篇文章的“事件”部分,这是我认为你可以调用函数的方式。然而,我做的每一次测试都没有调用该函数。示例:
var count=0;函数hello(){console.log(“hello”);}setInterval(函数(){count++;console.log(count);},1000);如果(count==2){hello();}
将代码编辑到您的问题中,注释并不是针对代码片段设计的。编辑我的答案也可以反映其中的问题。非常感谢您的解决方案!我会看看你做了什么,看看我是否可以将其应用到其他情况,在这些情况下,我只想从if语句触发一个函数。如果有帮助,我很高兴,这只是未来的一个提示:发布一些代码,并解释为什么/如何无法显示你在原始问题中所做的事情。这样,其他人就更容易掌握你在寻找什么。你会得到更快的答案,更少的反对票。:)
if (myVariable == 10) {
  doSomething();
}

if (object.position.y == 90) {
  moveObject(object);
}

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

function moveObject(object) {
  object.position.y = 85;
}