Nodejs中的this详解

简介: 以下内容都是关于在nodejs中的this而非javascript中的this,nodejs中的this和在浏览器中javascript中的this是不一样的。1、全局中的this默认是一个空对象。

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

相关文章
uniapp Vue3 面包屑导航 带动态样式
uniapp Vue3 面包屑导航 带动态样式
373 1
|
5月前
|
人工智能 编解码 测试技术
我用300天开发了一个自动化助手,让手机自己"工作"
我用300天开发了一个自动化助手,让手机自己"工作"
383 5
|
7月前
|
存储 机器学习/深度学习 弹性计算
阿里云服务器2核4G、4核8G、8核16G选经济型、通用算力型和计算型哪个实例更好?
阿里云服务器提供经济型e、通用算力型u2a、计算型c9i三种实例,适配2核4G至8核16G配置。经济型e实例以共享CPU调度、低成本(如2核2G年付99元)适合轻量网站及开发测试;u2a实例基于AMD EPYC处理器,算力提升20%-40%,支持高I/O突发,适合企业级应用及中小型数据库;c9i实例搭载CIPU架构与Intel至强处理器,网络延迟<1ms,IOPS达百万级,适合机器学习推理、高并发游戏等高性能场景。用户需结合业务阶段、预算及性能需求选择最优实例。
983 3
|
2月前
|
存储 物联网 BI
RFID车辆无感识别通行效率秒过
RFID车辆无感识别基于射频技术,通过车载电子标签与读写器毫秒级通信,实现3–10米远距离、非接触、免停车自动核验,通行仅需1–2秒,识别率≥99.9%,支持智慧停车、园区门禁、高速ETC等多场景,真正“秒过”无忧。(238字)
|
11月前
|
存储 人工智能 文字识别
PDF解析迎来技术革新!阿里新产品实现复杂文档端到端结构化处理
前言9月24日云栖大会现场,由阿里巴巴爱橙科技数据技术及产品团队自主研发的 PDF解析神器正式亮相并同步开源模型。这款基于Logics-Parsing模型构建的AI工具直指当前PDF解析领域的技术痛点,显著提升复杂文档的结构…
1517 0
PDF解析迎来技术革新!阿里新产品实现复杂文档端到端结构化处理
|
JSON 数据可视化 API
GraphRAG+Ollama,构建本地精准全局问答系统!
RAG 是目前大语言模型相关最知名的工具之一,从外部知识库中检索事实,以便为大型语言模型 (LLM) 提供最准确、最新的信息。
|
9月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
58375 11
ts中interface和type的区别
ts中interface和type的区别
1521 61
|
前端开发
axios拦截器的使用?
axios拦截器的使用?
486 0
|
JavaScript
TS中 type和interface的区别
TS中 type和interface的区别
2686 0