zoukankan      html  css  js  c++  java
  • Node.js核心模块_全局变量、util学习

    全局对象

    javascript的全局对象是window,他及其所有属性都可以在程序的任何地方访问。即全局变量。
    而在node中全局对象是global,所有全局变量都是global对象的属性,包括其本身。
    global最根本的作用是作为全局变量的宿主。

    • 全局变量应该满足的条件:
    1. 在最外层定义的变量
    2. 全局对象的属性
    3. 隐式定义的变量(未定义直接复制的变量)
      在node里不可能在最外层定义变量,因为所有的用户代码都属于当前模块的,而模块本身不是最外层上下文。
    • process
      process是一个全局变量,他是global的属性,是用来描述当前node进程状态的对象,提供了一个与操作系统的简单接口。通常用到在你血本地命令行程序的时候。
      process对象的一些最常用的成员方法:
      • process.argv
        是命令行参数数组,第一个元素是node,第二个参数是脚本文件名,从第三个参数开始每一个元素是一个运行参数。

      • process.stdout是标准输出流,通常我们使用console.log()向标准输出打印字符,而process.stdout.write()函数提供了更底层的接口。

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

          process.stdin.resume();
        
          process.stdin.on('data', function(data){
              process.stdout.write('read from    console:'+data.toString());
          });
        
      • process.nextTick(callback)的功能是为事件循环设置一项任务。

    • console
      console用于提供控制台标准输出。
      • console.log() :向标准输出流打印字符并以换行符结束
      • console.error(): 向标准错误流输出。
      • console.trace(): 向标准错误流输出当前调用栈。

    常用工具util

    util是一个node核心模块,提供常用的函数集合。

    • util.inherits()继承
      是一个实现对象间原型继承的函数,用法:

        var util = require('util');
        
        function Base(){
        	this.name = 'base';
        	this.base = 1990;
        
        	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在原型中定义的函数

    • util.inspect()
      是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。

        var util = require('util');
        
        function Person(){
        	this.name = 'yehuihui';
        
        	this.toString = function(){
        		return this.name;
        	};
        }
        
        var obj = new Person();
        
        console.log(util.inspect(obj));
        console.log(util.inspect(obj, true));
  • 相关阅读:
    结对-五子棋-测试过程
    结队-五子棋游戏-项目进度
    团队-象棋游戏-代码设计规范
    团队-象棋游戏-开发环境搭建过程
    课后作业-阅读任务-阅读提问-1
    20170914-构建之法:现代软件工程-阅读笔记
    结对-五子棋游戏-开发环境搭建过程
    团队-象棋-成员简介及分工
    结对-五子棋-需求分析
    个人-GIT使用方法
  • 原文地址:https://www.cnblogs.com/yehui-mmd/p/6716011.html
Copyright © 2011-2022 走看看