setInterval和setTImeout中的this指向问题
问题:在setInterval和setTimeout中传入函数时,函数中的this会指向window对象
解决方法:
1. 将当前对象的this存为一个变量,定时器内的函数利用闭包来访问这个变量。var self = this;
2.利用bind绑定
setTimeout(function(){console.log(this.num); }.bind(this), 1000) //利用bind()将this绑定到这个函数上
3. 箭头函数
setTimeout(() => {console.log(this.num); }, 1000) //箭头函数中的this总是指向外层调用者
参考:
http://www.cnblogs.com/zsqos/p/6188835.html
转载于:https://www.cnblogs.com/codebook/p/10363296.html
setInterval和setTImeout中的this指向问题相关推荐
- 关于setInterval和setTImeout中的this指向问题
问题描述 前些天在练习写一个小例子的时候用到了定时器,发现在setInterval和setTimeout中传入函数时,函数中的this会指向window对象,如下例: var num = 0; fun ...
- 关于setTimeout函数中的this指向问题
为什么setTimeout函数的延迟执行函数中this指向window,但是延迟执行函数是箭头函数this指向obj? 根据下面的两点原因解释,foo和foo2中的this都指向obj,但是其中set ...
- 普通函数和箭头函数中的this指向
普通函数的this指向Window function a(){console.log(this) } a() //Window Dom元素绑定事件时的this,句柄里的 this 值是该元素的引用 d ...
- html 取消settimeout,JavaScript中停止执行setInterval和setTimeout事件的方法
js 代码中执行循环事件时,经常会用到 setInterval 和 setTimeout 这两个方法,关于这两个方法的细节这里不详细讨论了,简要分享下在需要停止循环事件的时候该如何操作. (1)set ...
- js中setInterval与setTimeout的区别
一.setInterval与setTimeout的区别 1.setInterval setInterval() 方法可按照指定的周期来调用函数(以毫秒为单位) 语法: setInterval(函数表达 ...
- JS中setInterval、setTimeout不能传递带参数的函数的解决方法
setInterval 和 setTimeout 这两个函数比较好用,但会遇到比如说我隔个几秒后要执行的函数是带参数的,这种情况怎么办?可以用匿名函数包装处理 //不带参数的函数function te ...
- 理解JavaScript中this的指向详解
this的定义和理解: this是JavaScript语言的一个关键字,它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内使用. 1.this和执行环境对象有关,和函数的声明无关. var ...
- setInterval和setTimeout
setInterval和setTimeout 1. 总结 1.1. setTimeout和setInterval()的时间间隔是不可动态修改的 1.1.1. 错误方式 1.1.2. 正确方式 1.2. ...
- 简述JS中THIS的指向?
这里是修真院前端小课堂,每篇分享文从 八个方面深度解析前端知识/技能,本篇分享的是: [简述JS中THIS的指向?] 大家好,我是IT修真院武汉分院web第16期的学员孟晨,一枚正直纯洁善良的web程 ...
- JS中this的指向与改变this指向的三个方法
目录 一.this指向的分类 1.全局函数的调用 2.对象中函数的调用 3.setTimeout与setInterval中的this 4.事件绑定中的this 5.箭头函数中的this 6.构造函数中 ...
最新文章
- 重写浏览器alert解决ios端原生alert出现当前网址的URL
- 聊聊Elasticsearch的ExponentiallyWeightedMovingAverage
- softsign激活函数
- java设计模——反射的应用 (利用反射来去除if判断语句)
- UA MATH566 统计理论 QE练习题1
- [MVC]Controller
- supervisor 子进程退出_用supervisor监管你的程序,不用担心程序挂了
- python 神经网络_100行Python代码,轻松搞定神经网络 !
- 有限差分法解NS方程原理
- JAVA在线看CAD图纸快速入门
- 完整的vue开发环境搭建教程
- dxf文件怎么转换成dwg?这种方法了解一下
- php随机生成微信昵称(二)
- antdv 表格标题换行
- java多线程 wait和notify方法
- python中的打开文件的用法_python基础之文件操作
- python爬斗鱼直播官网,【爬虫】nodejs爬斗鱼直播间数据实战
- 金融危机下企业电子商务发展
- unity2D横版游戏教程终章-主菜单和暂停菜单
- 趋势信息整合(01) 谷歌google开发者 那些事儿