'use strict' function fn() { console.log(this) } setTimeout(fn, 0)
JavaScript 为什么 this 指向全局对象
这里有详细解释: https://developer.mozilla.org/zh-CN/docs/Web/API/Window/setTimeout
JavaScript中的This总是指向当前function的所有者,如果没有明确的所有者,那么This指向Window变量(如果运行在浏览器中的话),实际上类库中的函数,默认就属于Windows这个对象。可以把这个结构想象成一棵树,window对象是主干。详情看参加 廖雪峰的教程