文档章节

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

SubinY
 SubinY
发布于 2016/12/02 19:42
字数 479
阅读 56
收藏 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
码字总数 66143
作品 0
佛山
程序员
私信 提问
深入理解定时器系列第一篇——理解setTimeout和setInterval

很长时间以来,定时器一直是javascript动画的核心技术。但是,关于定时器,人们通常只了解如何使用setTimeout()和setInterval(),对它们的内在运行机制并不理解,对于与预想不同的实际运行状...

Jack088
01/17
0
0
温故js系列(13.2)-有意思的30题_解析

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

xzavier
2018/08/27
0
0
JavaScript进度条源码实例

几种方案 1.如图: 进度条 10% 2. 进度条 已加载10% 3.(FF下调试未通过,可能不兼容IE外浏览器) 1% 原文链接:http://blog.csdn.net/maji9370/article/details/4370616...

晨曦之光
2012/05/16
199
0
JS的数据类型运算符流程控制语句

1.JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? 数据类型主要有以下几种: 数值 布尔型 字符串 null undefined 对象 原始类型有以下几种...

熊蛋子17
2017/11/30
0
0
setTimeout 异步与回调 函数节流

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

evenyao
2018/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

精读《论语》读后感作文3600字

精读《论语》读后感作文3600字: 学而篇第一:子曰:“学而时习之,不亦说乎?有朋友自远方来,不亦悦乎?人不知,而不愠,不亦君子乎? 朱熹解:即学而又时时习之,则学者熟,而衷心喜悦,其...

原创小博客
33分钟前
0
0
CPU内存结构

开局一张图 由于CPU频率太快了,为解决直接读取内存的数据上的延迟,在CPU和内存之间,存在3级缓存。 CPU在解决和缓存不一致上采用两种方式: 缓存一致性协议 总线锁机制 CPU CPU的一个时钟周...

春哥大魔王的博客
35分钟前
1
0
记一次centos 7内核升级事故

情景 公司做等保3测评,在进行系统漏洞检测时发现内核存在漏洞,需要进行升级。 名称 版本 升级前内核 CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 升级后内核 CentOS Linux (3.10.0-957...

阿dai
今天
8
0
PowerDesigner操作

1.去掉生成DDL里的注释 Database -> Edit Current DBMS -> Script -> Syntax -> BlockComment,去掉BlockComment里面的value内容。...

了凡川
今天
3
0
Django集成Markdown编辑器【附源码】

专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m...

运维咖啡吧
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部