setTimeOut
setTimeOut(function(){},time)
必定在全局作用域中执行;其中的this指向全局作用域,在浏览器中指向window对象;
function中使用了()=>{}Es6写法后
this解析;
全局环境下
无论是否在严格模式下,在全局执行环境中(在任何函数体外部)this 都指向全局对象。
ECMAScript 5 引入了 Function.prototype.bind。调用f.bind(someObject)会创建一个与f具有相同函数体和作用域的函数,但是在这个新函数中,this将永久地被绑定到了bind的第一个参数,无论这个函数是如何被调用的。复制代码
箭头函数中
在箭头函数中,this与封闭词法环境的this保持一致。在全局代码中,它将被设置为全局对象:复制代码