setTimeout(callback, ms) 设置定时执行

功能分类: Control Applab JavaScript 少儿编程

设置一个定时器,指定的 ms 毫秒数之后,就执行指定的 callback 回调函数一次。

在 APP 应用里,有时需要一定时间之后,执行一次某些操作,如银行应用可能会在一次登录的一定时间之后要求重输一遍密码。setTimeout() 会有一个数值类型的返回值,这个返回值可以作为参数传递给 clearTimeout(timeout) 方法,用于取消这个定时执行设置。

示例代码



// 一秒之后,输出一条记录到控制台日志
setTimeout(function() {
  console.log("1000 milliseconds have elapsed");
}, 1000);

示例代码:移动之间的停顿 实现 turtle 画笔移动画线、停顿、再移动画线的场景。


// 实现 turtle 画笔移动画线、停顿、再移动画线的场景
moveForward(50);
setTimeout(function() {
  moveForward(100);
}, 2000);

示例代码:移动之间的停顿 升级版 在 timeout 之后 turnRight,可以看到 turnRight 并不会等待 timeout 结束才执行。


// 在 timeout 之后 turnRight,可以看到 turnRight 并不会等待 timeout 结束才执行
moveForward(50);
setTimeout(function() {
  moveForward(100);
}, 2000);
turnRight(90);

示例代码:点击速度 收集在 10 秒内点击按钮的次数。


//  收集在 10 秒内点击按钮的次数
textLabel("instructions", "Click the button as many times as possible in 10 seconds");
button("gameButton", "Click me!");
textLabel("results", "");
var counter = 0;
setTimeout(function() {
  hideElement("gameButton");
  console.log("10000 milliseconds have elapsed");
}, 10000);
onEvent("gameButton", "click", function(){
  counter = counter + 1;
  setText("results", "You have clicked " + counter + " times.");
});

语法规则


setTimeout(callback, ms);

参数说明

名称 类型 必需 参数描述
callback function Yes 在等待的时间到达后,要回调执行的函数。
ms number Yes 在执行方法前,需要等待的毫秒数。

返回值

返回一个数字类型的定时器 id 唯一标识。使用这个 id 可以将这个定时执行设置取消。

提示说明

  • 可以使用 clearTimeout(timeout) 方法来取消通过 setTimeout() 设置的定时执行功能。
  • 定时调用的是指定的回调函数,并且异步执行,所以 setTimeout() 后面的代码不会等这个定时执行功能完成后才运行。参考上面的例子。

查看更多少儿编程教程、JavaScript 介绍

返回文档首页