我爱编程

浏览器环境和node环境下的this

2018-07-26  本文已影响0人  YoungEvita

1. 浏览器下控制台下直接输出this

浏览器下输出浏览器下输出
严格模式下输出严格模式下输出

无论是否在严格模式下,在全局执行上下文中,this指向全局对象window。

函数中输出函数中输出
严格模式下函数中输出严格模式下函数中输出

在函数内部,this执行函数调用的对象;
在严格模式下,this保持进入上下文时的值,禁止指向window。

2. node 环境下打印this

// demo.js
console.log(this);
node环境下输出node环境下输出
// demo.js
'use strict';
console.log(this);
严格模式下node环境下输出严格模式下node环境下输出

全局环境下,this指向module.exports。

// demo.js
function f() {
  console.log(this);
}
f();
node环境下函数输出node环境下函数输出

函数中的this 指向 global。

// demo.js
function f() {
   'use strict';
   console.log(this);
}
f();
node环境下严格模式输出node环境下严格模式输出

参考资料
js中this的指向几种情况
nodejs中的this指针详解
node.js之this的困惑

上一篇下一篇

猜你喜欢

热点阅读