您现在的位置是:首页 > 文章详情

Nodejs中的this详解

日期:2019-01-28点击:623

以下内容都是关于在nodejs中的this而非javascript中的this,nodejs中的this和在浏览器中javascript中的this是不一样的。

1、全局中的this默认是一个空对象。并且在全局中this与global对象没有任何的关系:如下

console.log(this); {}
this.num = 10;
console.log(this.num); 10
console.log(global.num); undefined
2、在函数中的this

 function fn(){ this.num = 10; } fn(); console.log(this); {} console.log(this.num); undefined console.log(global.num); 10 在函数中this指向的是global对象,和全局中的this不是同一个对象,简单来说,你在函数中通过this定义的变量就是相当于给global添加了一个属性,此时与全局中的this已经没有关系了。

如果不相信,看下面这段代码可以证明。
function fn(){
function fn2(){

this.age = 18;

}
fn2();
console.log(this); global
console.log(this.age); 18
console.log(global.age); 18
}
fn();
3、构造函数中的this
function Fn(){
this.num = 998;
}
var fn = new Fn();
console.log(fn.num); 998
console.log(global.num); undefined
在构造函数中this指向的是它的实例,而不是global。
4、,全局中的this指向的是module.exports。
this.num = 10;
console.log(module.exports); {num:10}
console.log(module.exports.num);

原文链接:https://yq.aliyun.com/articles/689233
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章