如何在给定的时间间隔重复使用具有相同参数的函数(当前尝试使用setTimout)

罗斯曼

我有一个非常基本的功能,可以获取数字时间,并且想知道是否可以将“ elementToChange”设置为参数。当我尝试执行此操作时,它会卡在setTimout函数上,因为它没有采用相同的参数。

有什么方法可以更改代码,以便我可以简单地将要更改的元素作为参数,并在给定的时间间隔内重复执行该功能?

function setDigitalTime(){
  let today = new Date();
  let h = today.getHours();
  let m = today.getMinutes();
  let s = today.getSeconds();
  if(m < 10){m = "0" + m;}
  if(s < 10){s = "0" + s;}
  document.getElementById("elementToChange").innerHTML = h+" : "+m+" : "+s;
  setTimeout(setDigitalTime,500);
} 
一定的表现

setTimeout第一个和第二个之后的其他参数是用来调用回调函数的参数。例如setTimeout((arg) => console.log(arg), 500, 'foo')foo在500毫秒后打印因此,一种选择是使用传递给的参数setDigitalTime作为setTimeout的第三个参数:

function setDigitalTime(id){
  let today = new Date();
  let h = today.getHours();
  let m = today.getMinutes();
  let s = today.getSeconds();
  if(m < 10){m = "0" + m;}
  if(s < 10){s = "0" + s;}
  document.getElementById(id).innerHTML = h+" : "+m+" : "+s;
  setTimeout(setDigitalTime, 500, id);
} 

您可以为其他参数遵循相同的模式-传递给的第四个参数setTimeout代表用来调用回调函数第二个参数,依此类推。

另一个选择是拥有一个匿名内联函数,该函数调用setDigitalTime(id)

function setDigitalTime(id){
  let today = new Date();
  let h = today.getHours();
  let m = today.getMinutes();
  let s = today.getSeconds();
  if(m < 10){m = "0" + m;}
  if(s < 10){s = "0" + s;}
  document.getElementById(id).innerHTML = h+" : "+m+" : "+s;
  setTimeout(() => setDigitalTime(id), 500);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

CMAKE:重复调用具有不同参数的函数会得到相同的结果

如何在类上使用具有不同参数的抽象方法?

使用相同的指针指向具有不同参数的函数

如何使用`when/then` mockito调用具有相同参数的另一个方法

在vuejs中重复使用具有相同类型的多个组件的文本

扩展抽象类,并使用具有不同参数的相同方法

在python中使用具有多个值和相同参数的子进程

Firebase 函数 - 使用具有不同参数的函数两次

如何使用具有两个不同参数值的HttpGet方法

在 OOP Python tkinter 中的多个类中使用具有相同参数的一个函数的最佳方法是什么

如何实现对相同函数但具有不同参数的线程?

如何重复使用具有唯一名称和标记的相同预制件并添加到C#列表中

ghci编译器优化:两次调用具有相同参数的函数

我可以使用具有相同路径和不同参数名称的多个get请求吗?

如何在Python中不使用括号的情况下调用具有参数的函数

pytest:当灯具具有相同参数时如何使用间接参数化

如何多次调用具有不同参数的函数成员?

如何在Typescript中使用具有参数value或value []的两个参数编写泛型函数

如何管理具有可变时间间隔的重复云函数?

如何使用JavaScript禁用具有相同ID的所有重复的Texbox?

重复使用具有不同路径值的SVG元素

强制重复使用具有不同派生值的行

重复使用具有多个输入的用户关键字

具有相同参数的函数不会返回相同的值

无法在函数参数中使用具有相同基础类型的类型

如何在角度 2/4 中使用具有相同单击事件的两个函数?

C#使用具有不同参数的基类中的方法

React-query:使用具有不同参数的 useInfiniteQuery 进行新查询

如何使用具有参数化返回类型的函数参数调用函数