ES6中setTimeout函数的执行上下文
来源:互联网 发布:淘宝群聊pc端入口 编辑:程序博客网 时间:2024/04/28 22:55
简介:setTimeout,延迟执行函数里的执行上下文
(1)ES5中,setTimeout里面的函数的执行上下文为全局上下文,举例来说:
function log(){ setTimeout(function(){console.log(this.id)},100)}var id=42log.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}。
0 0
- ES6中setTimeout函数的执行上下文
- javascript 中setTimeout 定时执行带参数的函数
- settimeout的执行函数作用域问题
- setTimeout延迟执行函数
- ES6---es6中函数function的改革
- javascript的函数执行上下文及this
- 利用setTimeout()函数实现函数代码的延迟执行
- ES6中函数的扩展
- 关于Javascript中执行上下文的理解
- javascript中this执行上下文的改变
- 解决js中setTimeout()函数的兼容问题
- javascript中setTimeout()函数的使用
- js函数setTimeout延迟执行的简单介绍
- javascript中setTimeout()函数
- JavaScript的执行上下文
- JavaScript的执行上下文
- JavaScript的执行上下文
- js的执行上下文
- android 图片压缩
- ADB查看设备内存情况
- C++ STL 容器
- 如何不通过AppStore,直接安装IOS应用程序
- Hive扩展功能(二)--HWI接口
- ES6中setTimeout函数的执行上下文
- Python中使用 Selenium 实现网页截图实例
- 函数和二维数组
- 枚举
- 文本分类算法--朴素贝叶斯
- WCF--MSMQ
- VSCode在Linux和Windows调试C/C++程序
- JS 练习
- Git创建、删除branch 和 tag