最佳答案:1. 全局环境下的this在全局环境下(没有嵌套函数或对象),this指向全局对象,即window(浏览器)或global(Node.js)。2. 函数调用下的this当一个函数被直接调用时,this
1. 全局环境下的this
在全局环境下(没有嵌套函数或对象),this指向全局对象,即window(浏览器)或global(Node.js)。
2. 函数调用下的this
当一个函数被直接调用时,this指向的是全局对象。但如果函数被作为某个对象的方法来调用,则this指向该对象。
3. 构造函数下的this
当一个函数用new关键字来构造新的对象时,this指向的就是这个新对象。
4. call/apply/bind调用下的this
call/apply/bind方法可以改变函数的上下文环境,即this的指向。通过call/apply可以显式指定函数内部的this指向哪个对象。
需要注意的是,箭头函数中的this绑定规则略有不同,它的this与其外部函数的this保持一致,而不是随着调用方式的变化而变化。