setTimeout函数的参数

平常用setTimeout的时侯

     setTimeout(function,timer)

查阅setTimeout的函数原型

 var timeoutID = setTimeout(function[, delay, arg1, arg2, ...]);var timeoutID = setTimeout(function[, delay]);var timeoutID = setTimeout(code[, delay]);

类似于

var timeoutID= setTimeout(fun|code, [delay], [arg1], [arg2], ...)

分析一下参数:

  • fun|code:函数或者代码块
  • delay:延迟的时间
  • args1,args2,···:附加参数

附加参数的作用就是,给使用的函数里面的参数一个默认值,如下:

 //代码块1function show(a, b) {console.log(a, b)}setTimeout(show, 1000, 'my','name')//代码块2function show(a='my', b='name') {console.log(a, b)}setTimeout(show, 1000)

上面两段代码块的结果是一样的
这里要注意,setTimeout()期望得到的是对函数的引用,而不是调用函数,所以show后面没有括号。

原本我想的是,下面的这段代码跟上面的结果也是一样的,但是其实不是,具体可以将每个输出的结果换成不一样的试试看

```function show(a, b) {console.log(a, b)}setTimeout(show('my','name'), 1000)
```

原因,上面提过的,setTimeout()期望得到的是对函数的引用,而不是调用函数,如果我们在这里调用了函数,函数会直接根据代码的执行顺序执行,不会受到setTimeout定下的时间的约束;

总而言之,setTimeout的第一个参数就是一个代码块,它的意思就是过了规定的时间去执行这块代码

setTimeout函数的参数相关推荐

  1. setTimeOut函数传参数

    这样使用,后面的4000无效 setTimeout(removeGift(customer_id,gift_id),4000);function removeGift(customer_id,gift ...

  2. js setTimeout 传递带参数的函数的2种方式

    js setTimeout 传递带参数的函数的2种方式 Created by Marydon on 2018年9月14日 1.准备工作 function sayYourName(param) {ale ...

  3. 从setTimeout,onclick传参看js函数作为参数

    setTimeout传参 我们最先想到是这样: setTimeout(doSomething1(123),1000);function doSomething1(content){console.lo ...

  4. javascript中setTimeout()函数

    javascript中setTimeout()函数 大家都知道javascript中的setTimeput()函数的作用,一般会用他来处理一些连续的事情,们先看一个例子: <head>   ...

  5. js中函数的参数为函数的情况即回调函数

    js中函数的参数可以是数组对象也可以是函数,当参数为函数时我们叫做回调函数 //定义回调函数 function B() { console.log("函数B") setTimeou ...

  6. 把一个函数作为参数传入到函数中

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> ...

  7. ES6中setTimeout函数的this

    ES6中setTimeout函数的this 在编程的过程中有同学遇到不太清楚ES6中this指向的问题,代码抽象如下: function myFunction(){var mthis = this;s ...

  8. ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串

    目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...

  9. 高级JavaScript #ES6(模板字符串,let,箭头函数,forof,参数增强,解构,class,promise)

    模板字符串 1.模板字符串: 只要拼接字符串 都用模板字符串代替+a.整个字符串包裹在一对儿反引号 ` ` 中b.反引号``中支持换行 c.反引号中需要动态生成的内容必须放在${}里d. ${}里: ...

最新文章

  1. asp.net在线压缩和解压缩的实现
  2. [BUUCTF-pwn]——wustctf2020_name_your_dog
  3. 【渝粤题库】陕西师范大学100091 现代教育技术学 作业(专升本)
  4. c语言封闭曲线分割平面_高手的平面课堂:8种常用的设计排版方式,告别通宵加班...
  5. CHIP-seq 分析笔记
  6. 开发与测试的相爱相杀
  7. drupal8 自定义主题开发步骤
  8. GPT+UEFI双硬盘双系统安装
  9. DATEDIF 函数(转)
  10. 基于功能的差异化战略
  11. 第4章 需求分析和model设计
  12. 部署测试fabric1.0及源码解析
  13. WinEdt Latex 在字母上加两个点
  14. JavaScript实现的简单烟花特效代码1.15
  15. linux 扫描wifi软件,ubuntu用shell命令wpa_cli工具连接wifi
  16. android 实现AOP 使用Aspectj Kotlin版
  17. IDEA如何多次启动同一个程序
  18. VS2017实用调试技巧
  19. anaconda如何创建一个新的环境
  20. C++ 流 文件操作(输入输出流)

热门文章

  1. 企业的财务部门为什么要用内网即时通讯软件
  2. Android项目实战--手机卫士35--清除程序缓存
  3. Windows11 Android Srudio无法连接手机,报错Error initializing ADB: Unable to create Debug Bridge
  4. python如何限制字符串长度_python如何修改字符串长度
  5. 分布式文件系统—FastDFS-6.0.6搭建使用
  6. 学习OSPF,有这一篇就够了
  7. 2021年备战面试--算法13
  8. 如何用Serverless搭建Mock Server?
  9. 概率论 —— 相关分布以及期望方差的求法汇总
  10. 后台面试常问问题博客总结