Nodejs中的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);

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
数组
变量只能存储一个值,数组可以存储多个值 没有字符串类型:本身就没有字符串数据类型,因为字符串数据类型长度不确定,没有办法制定数据类型大小(还有一点是字符串是一个类)。 Java没有指针但却有指针的理论:C语言的字符串采用的是指针制作? 你赋值一串字符串,它会询问这个字符串有多长就申请多少个char类型连续内存? 为什么需要内存连续呢,因为指针变量指向的是第一片内存地址,它要按顺序向下找 只要是数组操作都是操作的地址,数组传只用的是引用传递。 public class T6 { public static void main(String[] args) { int a[] = {15, 10, 1}; int b[] = new int[3]; b[0]=a[0]; System.out.println(b[0]);//这里用的是引用传递,传的是值的地址 } } 数组介绍:数组前身就是指针控制,申请连续的内存地址,通过地址控制里面存储的数据,连续的内存地址控制。 能让一个变量存储多个值,以后经常会使用到数组,但你见不到,很多数据存储内核...
- 下一篇
如何在Flutter上优雅地序列化一个对象
作者:闲鱼技术-海潴 序列化一个对象才是正经事 对象的序列化和反序列化是我们日常编码中一个非常基础的需求,尤其是对一个对象的json encode/decode操作。每一个平台都会有相关的库来帮助开发者方便得进行这两个操作,比如Java平台上赫赫有名的GSON,阿里巴巴开源的fastJson等等。 而在flutter上,借助官方提供的JsonCodec,只能对primitive/Map/List这三种类型进行json的encode/decode操作,对于复杂类型,JsonCodec提供了receiver/toEncodable两个函数让使用者手动“打包”和“解包”。 显然,JsonCodec提供的功能看起来相当的原始,在闲鱼app中存在着大量复杂对象序列化需求,如果使用这个类,就会出现集体“带薪序列化”的盛况,而且还无法保证正确性。 来自官
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题