最近在学习nodejs,就是因为它比较轻便,并发量大,上手快。由于以前一直在做C#的后端,没有接触过javascript,所以还得慢慢学习之。

nodejs所用的是javascript语言,它没有如C#语言一样正规正矩,倒是用起来还是比较方便。

要学习一门语言的初端,就要先学习其语法。今天学习nodejs的类型定义方式,以及怎样导出模块被其他js文件require调用。

上代码:

//在nodejs中,类型定义就像定义函数一样,其实该函数就是Student类的构造函数
var Student=function(){
//如果需要定义该类对象的字段、方法等,需加上this关键字,否则就认为是该函数中的临时变量
this.Name="张三";
this.Age=; //定义对象方法
this.show=function(){
console.log(this.Name+' '+this.Age);
};
}; //类的成员方法也可以在构造方法外定义,需加上prototype关键字,否则就认为是定义类方法(静态方法)
Student.prototype.showName=function(){
console.log(this.Name);
}; Student.prototype.showAge=function(){
console.log(this.Age);
}; //定义类方法(类的静态方法,可直接通过类名访问)
Student.showAll=function(name,age){
console.log("showAll "+name+' '+age);
}; //定义类的静态字段
Student.TName="李四"; //导出Student类,使其他js文件可以通过require方法类加载该Student模块
module.exports=Student;

其他js文件使用Student模块的代码示例:

//使用require方法加载Student模块
var student=require('./Student');
//调用类方法
student.showAll("张思",);
//展现类静态字段
console.log(student.TName);
student.TName="王武";
console.log(student.TName); //实例化类对象
var stu=new student();
stu.show();
stu.showName();
stu.showAge();

执行结果:

"D:\Program Files (x86)\JetBrains\WebStorm 9.0.1\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" T4Express.js
showAll 张思 23
李四
王武
张三 21
张三
21 Process finished with exit code 0

  

NodeJS类型定义方式的更多相关文章

  1. Java枚举类型定义方式

    public enum Method { // get请求 GET("get"), // post请求 POST("post"); private String ...

  2. ASP.NET Core 6框架揭秘实例演示[24]:中间件的多种定义方式

    ASP.NET Core的请求处理管道由一个服务器和一组中间件组成,位于 "龙头" 的服务器负责请求的监听.接收.分发和最终的响应,针对请求的处理由后续的中间件来完成.中间件最终体 ...

  3. UE4 中Struct Emum 类型的定义方式 笔记

    UE4 基础,但是不经常用总是忘记,做个笔记加深记忆: 图方便就随便贴一个项目中的STRUCT和 Enum 的.h 文件 Note:虽然USTRUCT可以定义函数,但是不能加UFUNCTION 标签喔 ...

  4. typescript 关于class属性类型定义被属性默认值覆盖的问题及解决方式

    问题来源于 React.component的第二个参数的类型定义问题,我构建了以下简化demo,方便描述问题: class P<STATE> { public state: STATE; ...

  5. Objective-C枚举的几种定义方式与使用

    假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...

  6. 编译器开发系列--Ocelot语言4.类型定义的检查

    这里主要介绍一下检查循环定义的结构体.联合体.是对成员中包含自己本身的结构体.联合体进行检查.所谓"成员中包含自己本身",举例来说,就是指下面这样的定义. struct point ...

  7. 在 Typescript 2.0 中使用 @types 类型定义

    在 Typescript 2.0 中使用 @type 类型定义 基于 Typescript 开发的时候,很麻烦的一个问题就是类型定义.导致在编译的时候,经常会看到一连串的找不到类型的提示.解决的方式经 ...

  8. 结构体类型定义(C语言)

    结构体的定义形式如下: struct 结构体名 { 结构体成员 }: 结构体变量的定义方式有三种:1.先定义结构体,再定义变量: eg. struct student{ char name[10]; ...

  9. C++:类的成员函数定义方式

    1.成员函数的第一种定义方式:在类声明中只给出成员函数的原型,而将成员函数的定义 放在类的外部. 返回值类型 类名::成员函数名(参数表) {      函数体  } class Point{ pub ...

随机推荐

  1. hdu 3415 Max Sum of Max-K-sub-sequence 单调队列优化DP

    题目链接: https://www.cnblogs.com/Draymonder/p/9536681.html 同上一篇文章,只是 需要记录最大值的开始和结束的位置 #include <iost ...

  2. 51nod 1003 阶乘后面0的数量

    每一个 2 与一个 5 相乘,结果就增加一个零. 所以求 n! 后面的连续零的个数,其实就是求其中相乘的数含有因子每对因子 2 与 5  的个数. 又因为从1到某个数,所含 2 的个数比 5 多,所以 ...

  3. Change the Forwarding: RMT Architecture

    Change the Forwarding: RMT Architecture Note on "Forwarding Metamorphosis: Fast Programmable Ma ...

  4. Ubuntu 14.04 下解决maven访问速度慢问题

    参考: maven国内镜像(maven下载慢的解决方法) maven中央仓库访问速度太慢的解决办法 Ubuntu 14.04 下解决maven访问速度慢问题 在启动OVX的时候,由于sh脚本中需要使用 ...

  5. ros 查找包路径

    rospack find 包名

  6. jenkins 插件,下载地址

    http://updates.jenkins-ci.org/download/plugins/ 通常我们需要下载的插件有如下几个:

  7. linux 系统调用号表

    位于 /usr/include/asm/unistd.h 由于我是64位系统,所以有一些额外的东西.我的这个文件为下文 #ifndef _ASM_X86_UNISTD_H #define _ASM_X ...

  8. CCF 100012. 技能树

    100012. 技能树 思路:区间dp. 状态:dp[i][j]表示节点为i,高度小于等于j的方案数. 状态转移:dp[i][j]=∑dp[k][j-1]*dp[i-1-k][j-1]. 节点为i,高 ...

  9. Python - openpyxl 读写操作Excel

    openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易 注意:如果文字编码是“gb2312” 读取后就会显 ...

  10. 最大交换 Maximum Swap

    2018-07-28 16:52:20 问题描述: 问题求解: 使用bucket数组来记录每个数最后出现的位置,然后从左向右遍历一遍即可. public int maximumSwap(int num ...