如何在变量更改或位置更改时调用javascript/jquery中的函数?
我是javascript新手。在我使用的面向对象的SDK中制作应用程序,我感觉很舒服。一直在网上寻找一些简单问题的解决方案,但似乎找不到答案 当变量达到特定值或对象达到特定坐标时,如何调用函数 在上面提到的SDK中,我只想说: 如果myVariable=10 做点什么 或 如果object.position.y=90 做点什么 Javascript似乎不是这样工作的?似乎您只能在mousclick或mouseover等事件上调用函数?如何在不使用事件的情况下调用函数 谢谢你的帮助 您的回答似乎是说我只是从if语句调用函数。(这正是我所期望的!)。但是我做的每个测试都不会触发函数,就像下面的示例中的函数hello不会触发一样。我做错了什么如何在变量更改或位置更改时调用javascript/jquery中的函数?,javascript,jquery,Javascript,Jquery,我是javascript新手。在我使用的面向对象的SDK中制作应用程序,我感觉很舒服。一直在网上寻找一些简单问题的解决方案,但似乎找不到答案 当变量达到特定值或对象达到特定坐标时,如何调用函数 在上面提到的SDK中,我只想说: 如果myVariable=10 做点什么 或 如果object.position.y=90 做点什么 Javascript似乎不是这样工作的?似乎您只能在mousclick或mouseover等事件上调用函数?如何在不使用事件的情况下调用函数 谢谢你的帮助 您的回答似乎是
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;
}