以下将以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 + '\n');
};

同理输入是:

//用于监听用户输入的数据
//默认情况下输入流是关闭的。要监听处理输入流数据,首先要开启输入流
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));
}
});

Node.js入门笔记(2):全局对象(1)的更多相关文章

  1. Node.js入门笔记(1):基本概念

    Node.js和JavaScript: 核心都是ECMAScrit,比如数据类型,语法结构,内置对象等等. 但是在js中顶层是window 在node中的不存在这个window(console.log ...

  2. Node.js入门笔记(6):web开发方法

    使用node进行web开发 用户上网流程: 表面上看:打开浏览器--输入网址--跳转--上网. 背后的过程是什么呢? http请求网址到指定的主机--服务器接收请求--服务器响应内容到用户浏览器--浏 ...

  3. Node.js入门笔记(5):案例两则

    案例分析:前端自动化 1. 实现一个自动创建前端项目文件的js 通过node.js自动创建前端项目目录,包括js目录,js目录css目录,index.html和对应的内容. 初步的代码如下: var ...

  4. Node.js入门笔记

    第一步自然是安装了.我是用Webstorm这个ide,安装分2步: 1.安装nodejs,下载Windows下的安装版本号.注意是以msi为扩展名的,然后下一步.没啥好说的,下载地址例如以下: 32位 ...

  5. Node.js入门笔记(3):全局对象(2)

    buffer 用于更好操作二进制数据,他是一个全局变量.类似数组. var a=new Buffer(); buffer类的三种实现 第一种创建方式 new Buffer(size);size[Num ...

  6. Node.js入门笔记(4):文件系统(fs)

    文件系统(FileSystem) 文件系统模块 对于文件无外乎创建修改添加. File System - 文件系统模块 - require('fs') fs模块是核心模块,需要使用require导入后 ...

  7. Node.js 入门资料

    小毛驴的阿凡提的 Node.js 入门笔记 http://www.cnblogs.com/Afanty/category/1007304.html

  8. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

  9. node.js系列笔记之node.js初识《一》

    node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...

随机推荐

  1. stm32 u8 u16 u32

    u8 是 unsigned char u16 是 unsigned short u32 是 unsigned int

  2. MalformedByteSequenceException: Invalid byte 1 of 1-byte

    修改了线上程序的xml配置文件,重启后报如下错误: MalformedByteSequenceException: Invalid byte 1 of 1-byte 百度了下大体的意思是说文件的编码错 ...

  3. ffmpeg编译常规大全

    其中有需要CMake的,可以直接sudo apt-get install cmake   编译yasm wget http://www.tortall.net/projects/yasm/releas ...

  4. OpenFlow:Enabling Innovation in Campus Networks

    SDN领域,OpenFLow现在已经成为了广泛使用的南向接口协议.若想好好学习SDN,在这个领域有所进步,需要熟悉OpenFlow协议.我最近找了篇有关OpenFLow的论文,发现最早该协议是在Sig ...

  5. CCF考试

    第八次CCF考试记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四题的代码 第 ...

  6. POJ2828 Buy Tickets[树状数组第k小值 倒序]

    Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 19012   Accepted: 9442 Desc ...

  7. Java集合框架之map

    Java集合框架之map. Map的主要实现类有HashMap,LinkedHashMap,TreeMap,等等.具体可参阅API文档. 其中HashMap是无序排序. LinkedHashMap是自 ...

  8. WINDOW的cmd的命令【转载】

    转载地址:https://zhidao.baidu.com/question/583956458.htmlwinver---------检查windows版本 wmimgmt.msc----打开win ...

  9. React业务实践

    总结自:http://reactjs.cn/react/docs/thinking-in-react-zh-CN.html 当接到一个需求时,如何用react来实现? 以下几个步骤做参考. 第一步:把 ...

  10. 获取使用ClickOnce部署的应用程序的版本号

    引子 在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏.软件变更记录.软件关于等页面读取显示当前的版本号. 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地 ...