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 相关文章推荐
在jQuery中 常用的选择器介绍
Apr 16 Javascript
javascript中Number对象的toString()方法分析
Dec 20 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
js变形金刚文字特效代码分享
Aug 20 Javascript
jQuery添加和删除指定标签的方法
Dec 16 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 Javascript
VueJS事件处理器v-on的使用方法
Sep 27 Javascript
jquery实现搜索框功能实例详解
Jul 23 jQuery
深入分析element ScrollBar滚动组件源码
Jan 22 Javascript
微信小程序解析富文本过程详解
Jul 13 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
Aug 07 Javascript
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实现用户认证及管理完全源码
2007/03/11 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
基于jquery的滑动样例代码
2010/11/20 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
python冒泡排序简单实现方法
2015/07/09 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
行政文员岗位职责
2013/11/08 职场文书
廉洁使者实施方案
2014/03/29 职场文书
物业管理专业求职信
2014/06/11 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
高三语文复习计划
2015/01/19 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技