文档章节

setInterval的返回值类型为什么为数值?

SubinY
 SubinY
发布于 2016/12/02 19:42
字数 479
阅读 54
收藏 0

btn[0].onclick = function(){
      var timer = null;
      timer = setInterval(function(){
        console.log('a');
      },1000)
      console.log(typeof timer);  //返回的是一个number数据类型
    }

DOM事件必须用绑定时所使用的同一个函数才能解绑。这是因为DOM事件不是由JavaScript来触发的,而是浏览器触发的。不管你绑定不绑定处理函数,也不管你绑定多少个事件处理函数,事件就在那里,只要用户点击了元素,click事件就会触发。所以你不再需要对这个事件进行处理的时候,只需解绑相应的函数即可。
而定时器事件不一样,它是JavaScript设定的,你可以在一个网页中设定多个定时器,因此你需要一个独一无二的东西来代表特定的定时器。但你无法取消对定时器事件的绑定,只能关闭这个定时器(其实完全可以把定时器事件设定成跟DOM事件一样的风格,先设置一个定时器,然后可以随时给这个定时器绑定、解绑处理函数而不是直接关闭处理器。之所以没有这样设计,应该是历史原因吧哈哈)。
定时器在JavaScript语言中并没有相应的类型,因此我们只能获得一个与定时器有关的数据,这样才能使用系统提供的函数来启动和关闭它。这个数据可以是一个string,一个number,甚至是一个array什么的都无所谓,但是最简单有效的方式就是用一个number了。

segmentfault也是一个中国开发者技术社区,感觉很厉害的样子

作者:陈安
链接:https://www.zhihu.com/question/31932536/answer/53917339
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

本文转载自:https://www.zhihu.com/question/31932536?sort=created

共有 人打赏支持
SubinY
粉丝 8
博文 87
码字总数 66118
作品 0
佛山
程序员
温故js系列(13.2)-有意思的30题_解析

前端学习:教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-前端资源汇总 欢迎提issues斧正:30题_解析 JavaScript-有意思的30题-解析 之前在学习时把问题和答案分开...

xzavier
08/27
0
0
你真的理解==和===的区别吗?

用中文怎么叫合适? 相等?全等? 其实并不合适,叫double equals 或者treble equals,或者叫不懂的人觉得比较不专业的双等或者三等操作符,是更加严谨和正确的叫法。 为什么这么说?看完这篇...

趁你还年轻
2017/10/21
0
0
建议27:谨慎包装类型大小的比较

基本数据类型比较大小木有问题,不过其对应的包装类型大小比较就需要注意了。看如下代码: public class Test{public static void main(String[] args){Integer a = new Integer(100);Intege...

thinkerfans
2012/12/23
0
0
setTimeout 异步与回调 函数节流

定时器 JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由和这两个函数来完成。 setTimeout() setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数...

evenyao
07/24
0
0
JavaScript进度条源码实例

几种方案 1.如图: 进度条

晨曦之光
2012/05/16
184
0

没有更多内容

加载失败,请刷新页面

加载更多

day99-20180926-英语流利阅读-待学习

换汤不换药的美容大忽悠:从抗衰老到肌肤焕发新生 Lala 2018-09-26 1.今日导读 说到护肤品,一个个大牌广告就浮现在我们眼前:皮肤吹弹可破的女明星手捧功能各异的瓶瓶罐罐,暗示着消费者买买...

飞鱼说编程
36分钟前
3
0
FFmpeg Maintainer赵军:FFmpeg关键组件与硬件加速

大家好!我是赵军,现就职于英特尔的DCG从事基于FFmpeg的硬件优化工作,两年多前加入FFmpeg社区,2018年4月成为FFmpeg的其中的一个FFmpeg Maintainer,主要负责FFmpeg的硬件优化工作。 概览:...

yizhichao
今天
1
0
ehlib 修改 使行号字体颜色 与标题字体颜色 一致

对ehlib 显示效果不够满意,而做的调整 修改这个过程:procedure TCustomDBGridEh.DrawIndicatorCell(ACol, ARow: Longint; AreaCol, AreaRow: Longint; ARect: TRect; AState: TGri......

vga
今天
1
0
Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
59
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部