后端开发小站

分类


标签


JavaScript 和 nodejs中的this关键字学习

熊毅熊毅

在学习js的this关键字时,对于this到底是绑定的哪个对象这个问题,感觉很困惑。

一开始我以为this在全局环境下使用时指向的全局对象,在函数(对象的子类型)中使用时指向的是函数这个对象本身。

开始复杂的解密之旅。。

1、在浏览器中打印this

可以发现打印this是打印的window这个对象

2、在node环境中打印this

可以发现打印this是打印的global这个对象

3、使用node命令运行js文件打印this

js代码
console.log(this)

可以发现打印this是打印的一个空的对象!

结论1:this所绑定的对象与编译js的环境有关。

结论2:this所绑定的对象与在哪里被调用有关。

结论3:使用node运行一个js进程的时候,this绑定的是module.exports这个对象。

生而为人,必须努力

评论 1