JS ES6中setTimeout函数的执行上下文示例


Posted in Javascript onApril 27, 2017

本文介绍的是setTimeout函数,延迟执行函数里的执行上下文,分享给大家供大家参考学习,来看看详细的内容:

(1)ES5中,setTimeout里面的函数的执行上下文为全局上下文,举例来说:

function log(){
 setTimeout(function(){console.log(this.id)},100)
}
var id=42
log.call({id:21})

//输出的结果为42

我们可以看到setTimeout,被延迟执行的函数,里面的this,指向的是全局作用域,也就是这个函数的上下文为全局上下文。

(2)在ES6的箭头函数中,setTimeout里面,如果执行了一个箭头函数,那么这个函数的执行上下文为定义这个箭头函数所在的函数。

function log(){
 setTimeout(()=>{
  console.log(this.id)
 },100)
}
var id=42;
log.call({id:21})

//这次输出的是21

总结:

因为ES6中,箭头函数的this,规定的指向定义这个箭头函数所在的那个函数。于是这里箭头函数里面的this,就固定bind了{id:21}。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
页面回到顶部的三种实现(锚标记,js)
Oct 01 Javascript
JS 退出系统并跳转到登录界面的实现代码
Jun 29 Javascript
JS命名空间的另一种实现
Aug 09 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
JavaScript中return false的用法
Mar 12 Javascript
详细解读JavaScript的跨浏览器事件处理
Aug 12 Javascript
jquery+json实现数据二级联动的方法
Nov 28 Javascript
js实现图片360度旋转
Jan 22 Javascript
详谈for循环里面的break和continue语句
Jul 20 Javascript
浅谈node模块与npm包管理工具
Jan 03 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
Vue实现购物车功能
Apr 27 #Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
Apr 27 #Javascript
Angular.js中定时器循环的3种方法总结
Apr 27 #Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 #Javascript
微信小程序 wx:for的使用实例详解
Apr 27 #Javascript
微信小程序 动态传参实例详解
Apr 27 #Javascript
微信小程序 本地数据读取实例
Apr 27 #Javascript
You might like
php中的ini配置原理详解
2014/10/14 PHP
PHP导入导出Excel代码
2015/07/07 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
javascript 数组学习资料收集
2010/04/11 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
python threading模块操作多线程介绍
2015/04/08 Python
5种Python单例模式的实现方式
2016/01/14 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python subprocess库的使用详解
2018/10/26 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
python处理document文档保留原样式
2019/09/23 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
基于Python实现天天酷跑功能
2021/01/06 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
酒店出纳岗位职责
2013/12/29 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
暑期培训心得体会
2014/09/02 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014年实习期工作总结
2014/11/27 职场文书
丽江古城导游词
2015/02/03 职场文书
音乐教师个人总结
2015/02/06 职场文书
致运动员赞词
2015/07/22 职场文书
python munch库的使用解析
2021/05/25 Python
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle