首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

setTimeout(function() {doSth();},3) vs setTimeout(doSth,3)?

setTimeout(function() {doSth();}, 3) 和 setTimeout(doSth, 3) 的区别在于参数的传递方式不同。

  1. setTimeout(function() {doSth();}, 3):
    • 这种方式传递的是一个匿名函数,函数体内调用了 doSth() 函数。
    • 在延迟 3 毫秒后,会执行匿名函数,然后匿名函数内部调用 doSth() 函数。
  • setTimeout(doSth, 3):
    • 这种方式直接传递了 doSth 函数本身。
    • 在延迟 3 毫秒后,会直接执行 doSth 函数。

两种方式的选择取决于具体的需求和场景:

  • 如果需要在延迟结束后执行一些额外的逻辑或对 doSth 函数进行一些处理,可以使用第一种方式,即 setTimeout(function() {doSth();}, 3)。
  • 如果只需要简单地延迟执行 doSth 函数本身,可以使用第二种方式,即 setTimeout(doSth, 3)。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云函数(云原生、函数计算):https://cloud.tencent.com/product/scf
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云内容分发网络(CDN):https://cloud.tencent.com/product/cdn
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送、移动分析):https://cloud.tencent.com/product/mps
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
  • 腾讯云安全产品(WAF、DDoS 防护):https://cloud.tencent.com/product/safety
  • 腾讯云音视频处理(云直播、点播):https://cloud.tencent.com/product/vod
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么不是0,1,2,3,4?setTimeout的奇怪问题

网上看到这样一个题目: for(let i=0;i<5;i++){ setTimeout(function(){alert(i)},0) } 它输出的顺序并不是0,1,2,3,4,也不是固定的某一个顺序的数字...其实这里有三个关键点, 1、let,它声明了一个块级作用域; 2、alert,它引起了js的阻塞; 3setTimeout添加到js队列; 简单的讲, 1、js中没有任何可以立即执行的代码,它们都是需要被添加到队列中...2、setTimeout并不是指定了间隔时间就一定会按指定时间执行。它只是说“在指定时间之后,加入队列,等待执行”。至于什么时候执行,要看进程队列的空闲程度。...3、alert()它会阻塞js的执行,此时js进程是暂停的。 4、题目中使用的是let,这相当于是使用闭包的方式来传入值。如果是var,那么就是直接执行完i=5之后再执行alert了。

65190
领券