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 相关文章推荐
使用javascipt---实现二分查找法
Apr 10 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
JavaScript数据结构和算法之图和图算法
Feb 11 Javascript
jquery实现网页的页面平滑滚动效果代码
Nov 02 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
jquery判断类型是不是number类型的实例代码
Oct 07 Javascript
socket在egg中的使用实例代码详解
May 30 Javascript
关于layui时间回显问题的解决方法
Sep 24 Javascript
JS数据类型判断的几种常用方法
Jul 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
在视频前插入广告
2006/11/20 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
Python读取word文本操作详解
2018/01/22 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python3模拟登录操作实例分析
2019/03/12 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
如何通过python实现人脸识别验证
2020/01/17 Python
Python实现序列化及csv文件读取
2020/01/19 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
大学新生军训个人的自我评价
2013/10/03 职场文书
音乐表演专业毕业生求职信
2013/10/14 职场文书
个人找工作的自我评价
2013/10/17 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
单位计划生育责任书
2015/05/09 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python