rab*_*tco 4 javascript global-variables this node.js
代码
我编写以下代码并将其另存为 test.js:
var foo = 'I am local';
global.foo = 'I am global';
function print () {
console.log(this.foo);
};
print();
console.log (this.foo);
Run Code Online (Sandbox Code Playgroud)
然后我使用命令在终端中运行它node test.js,它返回:
I am global
undefined
Run Code Online (Sandbox Code Playgroud)
问题
为什么不返回:
I am global
I am global
Run Code Online (Sandbox Code Playgroud)
?
在 Node 模块内部,this按设计引用模块的exports对象:
console.log(this === exports); // true
Run Code Online (Sandbox Code Playgroud)
制作console.log(this.foo)相当于console.log(exports.foo).
换句话说,既没有this引用全局对象,也没有局部变量神奇地成为 的属性exports。
因为exports.foo不存在,所以你得到undefined.
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |