• 2 node 核心


    1 全局变量 - process

    process 是一个全局变量,即 global 对象的属性。

    它用于描述当前 Node.js 进程状态的对象,提供了一个与操作系统的简单接口。

    通常在你写本地命令行程序的时候,少不了要和它打交道。

    常用的有:

    process.argv是命令行参数数组。

    console.log(process.argv);

    将以上代码存储为 argv.js,通过以下命令运行:

    process.stdin是标准输入流,初始时它是被暂停的,要想从标准输入读取数据,你必须恢复流,并手动编写流的事件响应函数。

    process.stdin.resume();
    process.stdin.on('data', function(data) {
    process.stdout.write('read from console: ' + data.toString());
    });

    2 常用工具 util

    util 是一个 Node.js 核心模块,提供常用函数的集合,用于弥补核心 JavaScript 的功能过于精简的不足。

    我们知道,JS中的继承是通过将父类的实例赋值给子类来实现的。

    在Node.js中,util.inherits(constructor, superConstructor)是一个实现对象间原型继承的函数。 

    直接看代码吧:

    var util = require('util');
    
    function Base() {
        this.name = 'base';
        this.base = 1991;
        this.sayHello = function() {
            console.log('Hello ' + this.name);
        };
    }
    
    Base.prototype.showName = function() {
        console.log(this.name);
    };
    
    function Sub() {
        this.name = 'sub';
    }
    
    //通过该函数实现继承,不需要关注内部细节,大大方便了编程
    util.inherits(Sub, Base);
    
    var objBase = new Base();
    objBase.showName();
    objBase.sayHello();
    console.log(objBase);
    
    var objSub = new Sub();
    objSub.showName();
    //objSub.sayHello();
    console.log(objSub);

    注意, Sub 仅仅继承了 Base 在原型中定义的函数,而构造函数内部创造的 base 属性和 sayHello 函数都没有被 Sub 继承。

    同时,在原型中定义的属性不会被 console.log 作为对象的属性输出。如果我们去掉 objSub.sayHello(); 这行的注释,将会看到:

    3 事件驱动 events

    events 是 Node.js 最重要的模块,没有“之一”,原因是 Node.js 本身架构就是事件式的,而它提供了唯一的接口,所以堪称 Node.js 事件编程的基石。 

    events 模块只提供了一个对象: events.EventEmitter。 EventEmitter 的核心就是事件发射与事件监听器功能的封装。

  • 相关阅读:
    centos下 yum安装ngix
    [转]ORACLE函数大全
    Oracle的DML语言必备基础知识
    微信公众账号开发教程
    freemarker页面如何获取绝对路径basePath
    使用intellij的svn时提示出错: Can't use Subversion command line client: svn.Errors found while svn working copies detection.
    网站地址
    如何让tomcat不记录catalina.out这个日志文件
    在centos6.7用yum安装redis解决办法
    剑指 Offer 06. 从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/lijy/p/6898280.html
Copyright © 2020-2023  润新知