调用javascript函数在页面中的其他位置?

时间:2018-03-15 18:58:12

标签: javascript

我有一个看起来像这样的Javascript函数:

sendData: function(event) {

///my code////

},

我需要在setInterval函数的页面中的某处调用此函数。

所以我试过这个:

function myTimeoutFunction()
{   

    sendData();

}
myTimeoutFunction();
setInterval(myTimeoutFunction, 3000);   

但这似乎没有激发这个功能!

我也试过这种方式没有结果:

function myTimeoutFunction()
{   

    this.sendData();

}

有人可以就此问题提出建议吗?

提前致谢。

3 个答案:

答案 0 :(得分:2)

sendData似乎是对象的一部分,如下面的

object = {
    sendData: function() {

    }
}

然后你应该这样称呼它。

object.sendData();

如果有帮助,请告诉我。

答案 1 :(得分:1)

您的语法:

sendData: function(event) {
  ///my code////
},

意味着您的代码是更大的Object结构的一部分,类似于:

var myObj = {
  sendData: function(event) {
    ///my code////
  },
  somethingElse: true
}

在这种情况下,你如何调用该函数取决于你试图调用它的位置:

如果您尝试从对象结构内部调用该函数,只要该对象已实例化,您就可以使用this关键字访问该函数:

var myObj = {
  sendData: function(event) {
    console.log("Hello!");
  },
  runSendData: function(){
    // As long as you are inside of the same object structure
    // as the function you wish to invoke, you can use "this"
    this.sendData();
  }
}
    
myObj.runSendData();

如果您试图从对象结构外部调用该函数,则必须将您的函数作为其定义的对象的方法来访问:

var myObj = {
  sendData: function(event) {
    console.log("Hello!");
  },
  somethingElse: true
}
    
myObj.sendData();

如果您的目标是能够独立于其他任何东西调用该函数,那么您需要将其创建为“函数声明”,它发生在对象之外:

function sendData(){
  console.log("Hello");
}

// Now you can invoke the function as long as it has been already read into memory
sendData();

答案 2 :(得分:-2)

var sendData = function(params) {
    //Code
}

您可以使用

调用您的函数
sendData(params);