(二)Node里面的全局对象(一)Process与__filename

Node里面的全局对象(一)Process与__filename

(1)__filename

__filename:返回当前模块文件解析后的绝对路径,该属性并非全局,而是模块作用域下
console.log(global.__filename); //undefined
console.log(__filename); //正确

(2)__dirname

返回当前模块文件所在目录(找的是文件夹而不是文件)解析后的绝对路径,该属性并非全局,而是模块作用域下
console.log(__dirname);
//命令行形式的时钟
setInterval(function(){
var d = new Date();
console.log('现在是:' + d.getFullYear() + '年' + (d.getMonth()+1) + '月' + d.getDate() + '日' + d.getHours() + " : " + d.getMinutes() + ' : ' + d.getSeconds());}, 1000);

(3)process全局对象,通过这个对象提供的属性和方法,使我们可以对当前的程序进程进行访问

console.log(process);

  • argv: - Array -组包含命令行参数的数组,第一个元素是node,第二个元素是js文件的名称,接下来的元素依次是命令行传入的参数
  • execPath: - 开启当前进程的绝对路径
  • env: -返回用户环境信息

console.log(process.argv);
console.log(process.env);

  • 具体几个参数(了解就好)

version: -返回版本的信息
versions: - 返回node以及node依赖包版本信息
pid: - 当前进程的ID
title: - 当前进程的名称
arch:返回当前CPU处理器框架
exit(code): 退出
kill(pid): - 想进程发送信息

重要的process的还是标准输入输出流

  • process.stdin(标准输入流)输出process.stdout(标准输出流)
  • process.stdout.write("hello");向用户输出
  • 默认情况下process的输入时关闭的。要是想监听必须要开启
  • process.stdin.resume(); //这句话就表示开启用户输入模式

process.stdin.on('data',function(chunk){
console.log("用户输入了"+chunk);
})

下面这个例子就是监听用户输入的数据并且计算

var a;
var b;
process.stdin.resume(); //开启监听设备
process.stdin.on('data',function(data){
if(!a)
{
a = Number(data);
}else
{
b= Number(data);
process.stdout.write("最后的结果:"+(a+b));
process.exit();
}

})

效果图如下:

2017-05-30_093929.jpg
2017-05-30_093943.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js 全局对象 JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它...
    FTOLsXD阅读 412评论 0 2
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,414评论 0 6
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,642评论 2 41
  • //公共引用 varfs =require('fs'), path =require('path'); 1、读取文...
    才気莮孒阅读 841评论 0 1
  • 威海,今年我来了 一直觉得自己是个成长很慢的人,焦虑过,苦恼过,沉默过,但还好未曾放弃。跟着俱乐部的各种活动,慢慢...
    兰德朱迪阅读 530评论 0 0