1、新建调用的js

第一种调用没有初始值的模块

  1. var http = require('http');
  2. var User = require('./module/User');//引入的是user模块 不是user.js
  3. http.createServer(function (request, response) {
  4. response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
  5. if(request.url!=="/favicon.ico"){ //清除第2此访问
  6. user = new User(); //实例化这个模块
  7. user.id = 1;
  8. user.name = "张三";
  9. user.age = 20;
  10.  
  11. user.enter();
  12.  
  13. response.end('');
  14. }
  15. }).listen(8888);
  16. console.log('Server running at http://127.0.0.1:8888/');
  1. function User(){
  2. this.id;
  3. this.name;
  4. this.age;
  5. this.enter = function(){
  6. console.log('我叫'+this.name+',我的年龄是'+this.age);
  7. }
  8. }
  9. module.exports = User;//导出这个模块/类,让其他js能引入

第二种调用初始值的模块

  1. var http = require('http');
  2. var User = require('./module/User');//引入的是user模块 不是user.js
  3. http.createServer(function (request, response) {
  4. response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
  5. if(request.url!=="/favicon.ico"){ //清除第2此访问
  6. user = new User(1,"zhangsan",20); //实例化这个模块
  7.  
  8. user.enter();//执行方法
  9.  
  10. response.end('');
  11. }
  12. }).listen(8888);
  13. console.log('Server running at http://127.0.0.1:8888/');
  1. function User(id,name,age){
  2. this.id = id;
  3. this.name = name;
  4. this.age = age;
  5. this.enter = function(){
  6. console.log('我叫'+this.name+',我的年龄是'+this.age);
  7. }
  8. }
  9. module.exports = User;//导出这个模块/类,让其他js能引入

2、一个模块继承另一个模块,然后调用

调用的js

  1. var http = require('http');
  2.  
  3. var Teacher = require('./module/Teacher');
  4.  
  5. http.createServer(function (request, response) {
  6. response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
  7. if(request.url!=="/favicon.ico"){ //清除第2此访问
  8.  
  9. teacher = new Teacher(1,"zhangsan",20);
  10. teacher.enter();//对父类的方法调用
  11. teacher.teach(response);//调用自己的方法
  12.  
  13. response.end('');
  14. }
  15. }).listen(8888);
  16. console.log('Server running at http://127.0.0.1:8888/');

User类

  1. function User(id,name,age){
  2. this.id = id;
  3. this.name = name;
  4. this.age = age;
  5. this.enter = function(){
  6. console.log('我叫'+this.name+',我的年龄是'+this.age);
  7. }
  8. }
  9. module.exports = User;//导出这个模块/类,让其他js能引入

Teacher类   并且继承User类

  1. var User = reqire('./User');
  2. function Teacher(id,name,age){
  3. User.apply(this,[id,name,age]);//这句话实现了继承User这个模块,并且初始化,里面的id,name,age 就是Teacher(id,name,age)里面传进来的
  4.  
  5. this.teach = function(res){
  6. res.write(this.name+"讲课");
  7. }
  8.  
  9. }
  10. module.exports = Teacher;//导出这个模块/类,让其他js能引入

node.js调用模块的更多相关文章

  1. node.js基础模块http、网页分析工具cherrio实现爬虫

    node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...

  2. Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码

    (从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...

  3. Node.js Net 模块

    Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require("net") ...

  4. windows下node.js调用bat

    node.js调用bat需要用到Child Processes模块 因为bat是文件,所以需要使用execFile方法   如果指定了cwd,它会切换bat执行的目录,类似cd的功能,如果未指定默认为 ...

  5. 38..Node.js工具模块---底层的网络通信--Net模块

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/ ...

  6. Node.js之模块机制

    > 文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. ![file](https://img2018.cnblogs.com/blog/830272/20 ...

  7. Node.js require 模块加载原理 All In One

    Node.js require 模块加载原理 All In One require 加载模块,搜索路径 "use strict"; /** * * @author xgqfrms ...

  8. node.js中模块和包

    node.js中模块和包 什么是模块 如何创建并加载模块 1. 创建模块 2. 单次加载 3. 覆盖 exports 如何创建一个包 1. 作为文件夹的模块 2. package.json 如何使用包 ...

  9. Node.js的模块载入方式与机制

    Node.js中模块可以通过文件路径或名字获取模块的引用.模块的引用会映射到一个js文件路径,除非它是一个Node内置模块.Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始 ...

随机推荐

  1. subscription group permisson

  2. Java基础——Statement与PrepareStatement

    Statement Statement是Java运行数据库操作的一个重要方法.用于在已经建立数据库连接的基础上.向数据库发送要运行的SQL语句.Statement对象,用于运行不带參数的简单SQL语句 ...

  3. jquery绑定事件的区别

    query中绑定事件有三种方法:以click事件为例 (1)target.click(function(){}); (2)target.bind("click",function( ...

  4. Spring集成Jersey开发(附demo)

    下文将会初步介绍如何在Spring中集成Jersey,并附简单的demo 所依赖的技术版本: Jersey 1.8 Spring 3.0.5.RELEASE 1. 项目依赖 pom.xml定义(注意去 ...

  5. lua_pcall,lua_call 调用前后栈情况

    lua_pcall和lua_call功能一样,只是lua_pcall提供了一个可以提供错误处理函数的功能 首先压入函数 ,再依次压入参数,现在你就可以调用lua_call了,函数调用后将参数,函数都弹 ...

  6. lucene: IO/FileNotFoundException:(Too many open files) 查询异常解决

    http://stackoverflow.com/questions/6210348/too-many-open-files-error-on-lucene   baidu zone - 为什么Luc ...

  7. list操作总结. dict操作及文件操作

    1: 列表的操作 help(list) # 列表的帮助,列出所有列表的用法 type(name) # type判断数据类型是列表还是字典或者元组 isinstance("字符", ...

  8. C# 子类实例化过程

    刚研究了一下C#子类实例化的过程. 首先我遇到了如下一个问题: 有类A,里面写了一个有参的构造函数,并没有提供默认的无参构造函数.现在类B继承了类A,没有写任何的构造函数. 这时如果想实例化类B就会产 ...

  9. Extjs中设置只读的样式问题

    废话不多说,直接上代码:   view.down('#imageFile').hide(); view.down('#save_button').hide(); view.show(); view.d ...

  10. Linux 脚本点滴知识积累

    1.以openwrt中的/etc/hotplug.d/button/00-button为例 . /lib/functions.sh do_button () { local button   ---- ...