Open dave-wind opened 1 year ago
setTimeout 指向
let obj = { name: "dave", show: function () { setTimeout(() => { console.log('20------', this) }, 20) setTimeout(function () { console.log('100-----', this) }, 100) } } obj.show(); // 客户端情况下: // 20----- {name:"dave",show:xxxx} // 100-----window // node端: // 20----- {name:"dave",show:xxxx} // 100 ------ Timeout 类 因为在异步执行代码时, function{} 执行作用域在浏览器端 就是 window; 剪头函数就会执行上级非作用域 但是在 node 层 很有意思的 是 100---- 指向Timeout类 原因很简单 Eventloop 里面 收集settmeout 的 就是 timer 阶段 哈哈哈哈
就在于 剪头函数不能绑定this 也不能用作构造函数
setTimeout 指向
箭头函数与 function {} 区别