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

时间:2013-11-16 13:07:44

标签: javascript jquery

我是javascript的新手。我很喜欢在我使用的面向对象的SDK中制作应用程序。一直在网上寻找一些简单的东西的解决方案,但似乎无法找到答案。

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

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

如果myVariable = 10 做点什么

或 if 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();
}

2 个答案:

答案 0 :(得分:0)

if (myVariable == 10 || object.prosition.y == 90){
   // do something
}
else{
   // do something else
}

答案 1 :(得分:0)

调用函数?这很简单。您可以使用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变量永远不会被更改。另一个问题是你的周围脚本在计数上升到非常高之前完成执行,即使它被正确引发。

你可以通过使用中间函数或闭包来解决这个问题。有关前者的示例,请参阅此fiddle

更多阅读材料here