以下内容都是关于在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); undefinedconsole.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);

Nodejs中的this详解相关推荐

  1. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route

    前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path.之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开 ...

  2. Asp.net中GridView使用详解(引)【转】

    Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...

  3. Linux中iptraf命令详解(IP局域网监控工具)

    2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03   作者:佚名    ...

  4. ArcGIS Engine中的Symbols详解

    转自原文 ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式 ...

  5. js路由在php上面使用,React中路由使用详解

    这次给大家带来React中路由使用详解,React中路由使用的注意事项有哪些,下面就是实战案例,一起来看一下. 路由 通过 URL 映射到对应的功能实现,React 的路由使用要先引入 react-r ...

  6. Linux中etc目录详解

    Linux中etc目录详解 /etc目录 包含很多文件.许多网络配置文件也在/etc 中. /etc/rc   or/etc/rc.d   or/etc/rc*.d   启动.或改变运行级时运行的sc ...

  7. java 自定义正则表达式_java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...

  8. numpy中reshape方法详解

    numpy中reshape方法详解_zhanggonglalala的博客-CSDN博客_reshape

  9. JavaScript中getBoundingClientRect()方法详解

    JavaScript中getBoundingClientRect()方法详解 getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性:left.top.right和bo ...

最新文章

  1. 别得意,你只是假装收藏了而已
  2. CAS 单点登出失效的问题(源码跟踪)
  3. 深度学习的数学 (5)偏导数
  4. (2)双机调试+符号文件
  5. 裂墙推荐!再也不用求后端给接口了...
  6. SVN:冲突解决 合并别人的修改
  7. python 遍历list并删除部分元素
  8. 深入jar包:从jar包中读取资源文件
  9. WiFi mac地址详解
  10. 吃货在东京 -- 记那段吃不饱的日子 之四 台场的日本拉面
  11. android 环信 emmessagelistener,集成环信实现简单聊天功能
  12. Y430P拆机:安装固态硬盘+内存+重装系统梳理
  13. 制造业企业防范勒索病毒攻击的一些建议措施
  14. 【每日新闻】2019年大数据10大发展趋势出炉!
  15. 使用代理服务器打不开网页_导致网站打不开的原因有哪些
  16. 利用有道翻译Api实现英文翻译功能
  17. 菜鸟窝Kotlin+Jetpack实战学习笔记
  18. 推荐一些旅途的电影,歌曲和文章
  19. shu_p23 gcd lcm
  20. 建筑施工技术【20】

热门文章

  1. esxi vsphere的端口_硬干货!一张图弄清楚在ESXi下如何进行网络抓包
  2. web前端移动开发必须知道那些基础
  3. git 改了一段代码不想要了_想要壁纸不收费吗?简简单单用python代码实现
  4. android 自定义窗口,Android studio如何自定义设置窗口布局?
  5. win7服务器 能否建立多个网站,windows7下weblogic10.3服务器下一个domain建多个server(端口)...
  6. 计算机图形学大几学的,计算机图形学大作业-WenhaoYu.PDF
  7. html读mysql数据_html从数据库中读取数据
  8. clickhouse 副本ReplicateMergeTree实现原理
  9. 基于android对接百度地图搜索附近关键字列表展示并调用第三方地图应用打开导航(百度地图、高德地图)
  10. 信息安全——对称算法与非对称算法