最近在学习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. Linux内存管理--虚拟地址、逻辑地址、线性地址和物理地址的区别(二)【转】

    本文转载自:http://blog.csdn.net/yusiguyuan/article/details/9668363 这篇文章中介绍了四个名词的概念,下面针对四个地址的转换进行分析 CPU将一个 ...

  2. Spring Boot详细学习地址转载

    阿里中间件牛人,学习榜样,源码分析: https://fangjian0423.github.io/ 基础.详细.全面的教程: https://gitee.com/roncoocom/spring-b ...

  3. 【第二十九章】 springboot + zipkin + mysql

    zipkin的数据存储可以存在4个地方: 内存(仅用于测试,数据不会持久化,zipkin-server关掉,数据就没有了) 这也是之前使用的 mysql 可能是最熟悉的方式 es Cassandra ...

  4. 51nod 1103 N的倍数

    1103 N的倍数   一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数. 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8, ...

  5. JavaScript权威指南1.概述

    JavaScript: 1.面向对象.解释型(非编译型)的程序设计语言.一种脚本语言 2.松散类型语言.变量不必具有一个明确的类型.对象中的属性名可以映射为任意的属性值 3.原始数据类型:数字.字符串 ...

  6. samtools一些文档

    https://github.com/samtools/hts-specs

  7. ubuntu 14.04 server(amd64) 安装ros indigo

    1.添加软件源(添加了正确的软件源,操作系统就知道去哪里下载程序,并根据命令自动安装软件) sudo sh -c 'echo "deb http://packages.ros.org/ros ...

  8. python 无序表查找

    def sequential_search(lis, key): for i in range(len(lis)): if(lis[i] == key): return i else: return ...

  9. 《Blue_Flke》 团队项目用户验收评审

    一.beta冲刺 beta冲刺第一.二天:https://www.cnblogs.com/ruanjgc/p/9226434.html beta冲刺第三天:https://www.cnblogs.co ...

  10. export与export default exports与module.exports的用法

    转载:http://blog.csdn.net/zhou_xiao_cheng/article/details/52759632 本文原创地址链接:http://blog.csdn.net/zhou_ ...