Node笔记三
global
--类似与客户端javascript运行环境中的window
process
--用于获取当前node进程信息,一般用于获取环境变量之类的信息
console
--node中内置的console模块,提供操作控制台的输入输出功能,常见是用方式与客户端类似

node中只有这三个是真正的全局对象,其他的一些全局对象都是模块内的伪全局对象


在查看api时,会看到如此提示,node会将方法的稳定性分为三个级别0、1、2,0代表稳定性最低,2代表稳定性最高。
--由于一些api已经被淘汰,但是需要适应老版本,因此将这些api保留,直到使用率很低的时候才将此api进行删除。符合软件迭代规律。
--目前4版本为长期维护版本,里面的api基本稳定、不会删,市场主流是使用4版本开发系统
process模块
--process.arch 查询操作系统类型
--process.argv
--var argv = process.argv; console.log(argv);
--在控制台输出
'C:\\dev\\nodejs\\node.exe' 代表node.exe所在的目录
'D:\\MyDrivers\\workSpace\\node\\demo1'代表执行文件所在的目录
--当我们在REPL环境中输入指令时,eg: npm init, npm内部会对输入的指令做出判断,npm 是方法, init是参数,当参数是init时进行初始化操作, npm install jquery 则进行安装包。
npm内部对指令做出对应的处理:
如图所示,在控制台 输入 npm 执行文件 参数1 参数2 ... ,npm就会根据对应的参数执行操作。
Node调试
--最简单、方便调试方式 : console.log();
--使用debug调试,直接在控制台书写 node debug 执行文件名 便可以进入调试。
--进入调试阶段,输入help可以 查看在cmd中的指令进行调试。
--使用工具进行调试,使用Visual studio Code工具进行调试。
--在进行调试之前,需要需要json文件program中的app.js,将其修改为将要进行调试的文件名即可。${workspaceRoot}代表当前执行目录根目录。

--第三方模块提供的调试工具,需要npm download
--$npm install node-inspector -g
--$npm install devtool -g
简单的登录逻辑
// 输出第一个问题
process.stdout.write('请输入用户名:\n');
// var i = 0;
var isInputUsername = true;
var username = '';
// 接收用户输入
process.stdin.on('data', (input) => {
// console.log(i++);
// 要在此处知道到底input是啥?
input = input.toString().trim();
if (!username) {
if (Object.keys(users).indexOf(input) === -1) {
process.stdout.write('用户名不存在' + '\n');
process.stdout.write('请输入用户名:\n');
// isInputUsername = true;
username = '';
} else {
// console.log('存在');
process.stdout.write('请输入密码:\n');
// isInputUsername = false;
username = input;
}
} else {
// 传入的是密码,此处拿不到上次的输入,所以拿不到用户名
// console.log(11111);
if (input === users[username]) {
console.log('登陆成功');
}else{
process.stdout.write('请输入密码:\n');
}
}
});
Node笔记三的更多相关文章
- ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- Mastering Web Application Development with AngularJS 读书笔记(三)
第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...
- Python 学习笔记三
笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...
- 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现
本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- 构建高性能WEB站点笔记三
构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...
随机推荐
- Android自定义Button的“款式”
要想让你的button呈现出一种不一样的外观,一般会采取以下两种形式 采用selector里面加图片的方式 采用selector用shape进行代码控制的方式 对第一种方式而言,只需要注意好" ...
- pycharm+django之小试牛刀
准备好好学习一下python,就从django开始吧,顺带了解一下网站的开发.今天在windows上安装了python,django,以及酷炫吊的IDE--pycharm,学习资料主要是<the ...
- 控件的基本使用-iOS—UI笔记
学习目标 1.[掌握]第一个UI项目 2.[掌握]控件连线 3.[掌握]按钮的基本操作 4.[掌握]控件的常用属性 一.第一个UI项目 UI (User Interface)也是就用户界面,是App的 ...
- Android进程通信之一:两种序列化方式
2月下旬辞职了,去海南度假到现在,领略了一把三亚风情也算任性和 然而这样任性带来的后果就是..不行了我必须吐槽一句.. 没毕业的找工作就这么难嘛!投了57家一家面试机会都没有,好歹给个面试机会啊!!本 ...
- Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(下)Samba经典应用案例
五.[Samba应用案例二] 设置Samba共享目录/software,允许用户jack和mary可以通过Windows客户端访问,并具有读写权限. 1.创建目录/software,添加用户jack, ...
- 【Unity Shaders】Diffuse Shading——向Surface Shader添加properties
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- Activity堆栈管理
task就好像是能包含很多activity的栈. 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 ac ...
- Java 反射之JDK动态代理
Proxy提供用于创建动态代理类和代理对象的静态方法,它也是所有动态代理类的父类.如果我们在程序中为一个或多个接口动态地生成实现类,就可以使用Proxy来创建动态代理类:如果需要为一个或多个接口动态的 ...
- 69个Spring面试题
Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring ...
- 【Qt编程】基于Qt的词典开发系列<二>--本地词典的设计
我设计的词典不仅可以实现在线查单词,而且一个重大特色就是具有丰富的本地词典库:我默认加入了八个类型的词典,如下所示: 由于是本人是通信专业,因此加入了华为通信词典.电子工程词典,又由于我喜爱编程,也加 ...