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 + '\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)的更多相关文章
- Node.js入门笔记(1):基本概念
Node.js和JavaScript: 核心都是ECMAScrit,比如数据类型,语法结构,内置对象等等. 但是在js中顶层是window 在node中的不存在这个window(console.log ...
- Node.js入门笔记(6):web开发方法
使用node进行web开发 用户上网流程: 表面上看:打开浏览器--输入网址--跳转--上网. 背后的过程是什么呢? http请求网址到指定的主机--服务器接收请求--服务器响应内容到用户浏览器--浏 ...
- Node.js入门笔记(5):案例两则
案例分析:前端自动化 1. 实现一个自动创建前端项目文件的js 通过node.js自动创建前端项目目录,包括js目录,js目录css目录,index.html和对应的内容. 初步的代码如下: var ...
- Node.js入门笔记
第一步自然是安装了.我是用Webstorm这个ide,安装分2步: 1.安装nodejs,下载Windows下的安装版本号.注意是以msi为扩展名的,然后下一步.没啥好说的,下载地址例如以下: 32位 ...
- Node.js入门笔记(3):全局对象(2)
buffer 用于更好操作二进制数据,他是一个全局变量.类似数组. var a=new Buffer(); buffer类的三种实现 第一种创建方式 new Buffer(size);size[Num ...
- Node.js入门笔记(4):文件系统(fs)
文件系统(FileSystem) 文件系统模块 对于文件无外乎创建修改添加. File System - 文件系统模块 - require('fs') fs模块是核心模块,需要使用require导入后 ...
- Node.js 入门资料
小毛驴的阿凡提的 Node.js 入门笔记 http://www.cnblogs.com/Afanty/category/1007304.html
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
- node.js系列笔记之node.js初识《一》
node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...
随机推荐
- 理解 OpenStack + Ceph (9): Ceph 的size/min_size/choose/chooseleaf/scrubbing/repair 等概念
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- JAVA类的静态加载和动态加载以及NoClassDefFoundError和ClassNotFoundException
我们都知道Java初始化一个类的时候可以用new 操作符来初始化, 也可通过Class.forName()的方式来得到一个Class类型的实例,然后通过这个Class类型的实例的newInstance ...
- js/jquery/html前端开发常用到代码片段
1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...
- Struts2 easy UI插件
一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...
- PHP开发环境搭建
链接: Q&A1.Mac下的PHP环境搭建 Mac 下如何搭建 PHP 开发环境? [PHP] Mac下homebrew安装及php.mysql.nginx环境安装及配置个人PHP开发环境的选 ...
- bash/shell编程学习(1)
1)定义变量 myvar=abc #注:等号前后不能加空格 #或 myvar="abc" #或 myvar='abc' #注:如果变量后面的值中间本身没有空格,加不加引号都无所谓, ...
- SQL Server2008从入门到全面精通 SQL数据库视频教程
第1章 SQL Server 2008入门知识:1.SQL SERVER 2008简介2.数据库概念3.关系数据库4.范式5.E-R模型6.SQL Server 2008体系结构7.安装IIS服务8. ...
- 深入理解Java:String
在讲解String之前,我们先了解一下Java的内存结构. 一.Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配. JVM主要管理两 ...
- 20145233 GDB调试汇编分析
GDB调试汇编分析 代码 #include<stdio.h> short addend1 = 1; static int addend2 = 2; const static long ad ...
- Spring Boot入门===Hello World
昨天无意间看到Spring Boot ,今天又了解了一下,试着写一个Hello World! 今天看了半天,最后还是要用Maven最方便!以下: 一.工具 JDK1.7 Eclipse Maven ...