setTimeOut与setInterval this总结

255 阅读1分钟

setTimeOut

setTimeOut(function(){},time)

必定在全局作用域中执行;其中的this指向全局作用域,在浏览器中指向window对象;

function中使用了()=>{}Es6写法后

this解析;

全局环境下

无论是否在严格模式下,在全局执行环境中(在任何函数体外部)this 都指向全局对象。

ECMAScript 5 引入了 Function.prototype.bind。调用f.bind(someObject)会创建一个与f具有相同函数体和作用域的函数,但是在这个新函数中,this将永久地被绑定到了bind的第一个参数,无论这个函数是如何被调用的。

箭头函数中

在箭头函数中,this与封闭词法环境的this保持一致。在全局代码中,它将被设置为全局对象: