最近在学习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. github issues的操作

    https://help.github.com/en/articles/searching-issues-and-pull-requests 根据 reporter筛选issues https://h ...

  2. linux 下 安装nginx

    http://www.cnblogs.com/lovexinyi8/p/5845017.html 测试可用. 参看 https://www.cnblogs.com/liujuncm5/p/671378 ...

  3. jQuery object and DOM Element

    They're both objects but DOMElements are special objects. jQuery just wraps DOMElements in a Javascr ...

  4. mysql删除sql表添加别名及删除sql的注意事项

    本文为博主原创,未经允许不得转载: 根据平常的习惯,个人会将操作的表后面添加一个别名,无论是使用还是不使用的时候,均是为了 修改还是扩展sql的时候更加安全,方便,快捷. 今天在写删除的sql时,对表 ...

  5. Mybatis配置映射文件中parameterType的用法小结

    原创: 在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配 ...

  6. BZOJ 1009: [HNOI2008]GT考试(kmp+dp+矩阵优化)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1009 题意: 思路:真的是好题啊! 对于这种题目,很有可能就是dp,$f[i][j]$表示分析到第 ...

  7. python字典按照value进行排序.bak

    先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...

  8. shell 余弦值转角度

    范例:余弦值转角度 用 bc -l 计算,可以获得高精度: $ export cos=0.996293; echo "scale=100; a(sqrt(1-$cos^2)/$cos)*18 ...

  9. c++ 判断数组元素是否有负数(any_of)

    #include <iostream> // std::cout #include <algorithm> // std::any_of #include <array& ...

  10. 如何优化myeclipse.

    1.去除不需要加载的模块 一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的 模块禁止 加载启动.通过Window ...