• Node.js入门笔记(2):全局对象(1)


    以下将以API文档为基础进行分析学习

    global对象

    这些对象在所有模块里都可用。有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来。

    __filename——返回当前模块文件解析后的绝对路径,该属性不是全局的,而是模块作用域下的。

    因此,直接console.log(_filename);不要加global.

    __dirname——返回当前模块文件所在目录解析后的绝对路径,也不是全局的。

    比如,通过定时器打印出每秒的时刻。

    setInterval(function () {
        var d=new Date();
      console.log('现在是:'+d.getFullYear()+'年'+(d.getMonth()+1)+'月'+d.getDay()+'日'+d.getHours()+'时'+d.getMinutes()+'分'+d.getSeconds()+'秒');
    },1000);
    

    process对象

    process 对象是一个全局对象,可以在任何地方访问到它。 它是EventEmitter的一个实例。通过这个对象提供的属性和方法,可以允许我们对当前程序的进程进行访问和控制。

    console.log(process)
    

    发现弹出了很多方法和属性

    argv

    通过console.log(process)可以发现,返回的是一个数组。第一个数组元素是运行的程序(node.exe),第二个是运行的js文件。第三个是参数

    execPath

    开启当前进程的绝对路径

    env

    返回用户的环境信息——一般是操作系统数据之类。

    version/versions

    返回版本

    pid

    当前进程的pid,你可以在window进程中看到

    title

    进程的显示名称。(getter/setter)

    arch

    返回CPU的处理器架构

    platform

    操作平台

    cwc()

    当前进程的工作目录

    chdir(directory)

    改变进程的工作目录

    memoryUsage()

    返回内存使用情况

    exit

    退出
    比如5秒之后退出程序

    setTimout(function(){
      process.exit();
    },5000);
    

    kill(pid)

    向进程发送信息

    stdin/stdout标准输入输出流(I/O)——重要概念

    标准输入/出设备:比方说键盘/显示器就是I/O设备
    提供操作输入数据和输出数据的方法,亦称为“IO方法”。
    console.log()就是标准输出对象实现的。
    process.stdout.write('hello!');的结果跟console.log('hello!')是一样的。console.log的实现是是:

    console.log = function(d) {
       process.stdout.write(d + '
    ');
    };
    

    同理输入是:

    //用于监听用户输入的数据
    //默认情况下输入流是关闭的。要监听处理输入流数据,首先要开启输入流
    process.stdin.resume();
    process.stdin.on('data',function (chunk) {
        console.log('用户输入了:'+chunk)
    });
    

    用户可以在控制台输入内容

    现在还不够完善

    process.stdin.resume();
    var a,b;
    process.stdout.write('请输入a的值:');
    process.stdin.on('data',function (chunk) {
        if(!a){
            a=Number(chunk);
            process.stdout.write('请输入b的值:');//输入之后提示输入b
        }else{
            b=Number(chunk);
      process.stdout.write('结果是:'+(a+b));
      }
    });
    

  • 相关阅读:
    MES取所有部门的函数实例
    MES总结:CBF.Common 文件Net下的有类型转换
    LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
    c# abstract抽象类与继承类子类的构造函数_base
    C# 之泛型详解
    MVC6与Asp.net5
    MenuStrip菜单递归
    .net 下的MVCPager
    UVALive5461 UVA615 POJ1308 HDU1325 Is It A Tree?
    UVALive5461 UVA615 POJ1308 HDU1325 Is It A Tree?
  • 原文地址:https://www.cnblogs.com/djtao/p/6127584.html
Copyright © 2020-2023  润新知