文档章节

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

SubinY
 SubinY
发布于 2016/12/02 19:42
字数 479
阅读 48
收藏 0
点赞 0
评论 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
博文 86
码字总数 63997
作品 0
佛山
程序员
你真的理解==和===的区别吗?

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

趁你还年轻
2017/10/21
0
0
关于setInterval与setTimeout作用域问题

最近在模仿swiper鼓捣一个轮播图插件时,碰到了setInterval的作用域问题,轮播的方法写在一个对象里,但是setInterval执行这个方法后,在方法体内无法访问这个对象的属性了,业务逻辑代码如下...

爱coding的husky
2017/11/03
0
0
建议27:谨慎包装类型大小的比较

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

thinkerfans
2012/12/23
0
0
JS的数据类型运算符流程控制语句

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

熊蛋子17
2017/11/30
0
0
Javascript填坑史

前言 总括: 这是笔者平时积累的一些觉得比较有意思或是比较有难度的JavaScript题目理解和心得,会保持长期更新。 原文地址:Javascript填坑史 知乎专栏&&简书专题:前端进击者(知乎)&&前端...

Damonare
2016/12/23
0
0
java.lang.Math的几个常用方法 小结

在学习JavaSE中,java.lang.Math中的知识应该好好掌握。虽然在我们的平常应用中不是很多地应用到, 但是却代表了一种数学思想 最常用方法: java.lang.Math:记住,所有方法都为静态方法,所以...

键盘小生
2013/03/23
0
0
温故而知新——javascript篇

js是前端工程师的核心,只有掌握了它才算进入真真的编程,代码虐我千百遍,我视代码如初恋。。。。 什么是javascript? js是一种基于对象和事件驱动的客户端脚本语言,最初的设计是及检验htm...

jia林
2017/11/27
0
0
JavaScript进度条源码实例

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

晨曦之光
2012/05/16
184
0
js-window对象的方法和属性资料

Window对象是客户端javascript最高层对象之一,只要打开浏览器窗口,不 管该窗口中是否有打开的网页,当遇到BODY、FRAMESET或FRAME元素时,都会自动建立window对象的实例。另外,该对象的实例...

王阔
2012/09/12
0
0
javascript之window对象详解

window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval moveBy moveTo resizeBy resizeTo scrollBy scrollTo find back forward home......

烹饪师
2015/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

面试感想(一)

最近跟北京的同事朋友聊天,深深的发现自己的技术已经和主流技术脱轨了,目前公司求稳为主,使用的技术略有些过时,因此萌生出了换工作的念头,正值三伏天,可以说真是顶着一颗偌大的决心去参加面试...

勤奋的蚂蚁
2分钟前
0
0
Kafka设计解析(一)- Kafka背景及架构介绍

原创文章,转载请务必将下面这段话置于文章开头处。(已授权InfoQ中文站发布) 本文转发自技术世界,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1 摘要   Kafka是由LinkedI...

mskk
11分钟前
0
0
使用Service Mesh整合您的微服务架构

在微服务架构的世界中,它正在达到这样的程度,即管理系统的复杂性对于利用它带来的好处变得至关重要。 目前,如何实现这些微服务不再是一个问题,因为有很多可用的框架(Spring Boot,Vert....

xiaomin0322
15分钟前
0
0
看看 LinkedList Java 9

终于迎来了 LinkedList 类,实现的接口就有点多了 Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>。LinkedList是一个实现了List接口和Deque接口的双端链......

woshixin
33分钟前
0
0
算法 - 冒泡排序 C++

大家好,我是ChungZH。今天我给大家讲一下最基础的排序算法:冒泡排序(BubbleSort)。 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大(可以相反),就交换他们两个。 对每...

ChungZH
36分钟前
0
0
jquery ajax request payload和fromData请求方式

请求头的不同 fromData var data = { name : 'yiifaa'};// 提交数据$.ajax('app/', { method:'POST', // 将数据编码为表单模式 contentType:'application/x-ww...

lsy999
38分钟前
0
0
阿里P7架构师,带你点亮程序员蜕变之路

前言: Java是现阶段中国互联网公司中,覆盖度最广的研发语言。 掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,成为Java架...

Java大蜗牛
40分钟前
1
0
Ecstore 在没有后台管理界面(维护)的情况如何更新表的字段

window 系统: 切换到:app\base 目录下: C:\Users\qimh>d: D:\>cd D:\WWW\huaqh\app\base 执行:D:\WWW\huaqh\app\base>cmd update linux 系统: 1># cd /alidata/www.novoeshop.com/app/......

qimh
44分钟前
0
0
设计模式-策略模式

策略模式 解释 对工厂模式的再次封装,使用参数控制上下文信息(将工厂返回的实例赋值给context field) 不会返回bean实例,只是设置对应的条件 调用context的方法(调用field的方法) 用户只...

郭里奥
47分钟前
0
0
python使用有序字典

python自带的collections包中有很多有用的数据结构可供使用,其中有个叫OrderedDict类,它可以在使用的时候记录元素插入顺序,在遍历使用的时候就可以按照原顺序遍历。 a = {"a":1,"b"...

芝麻糖人
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部