nj08---process、console

概念:所有属性都可以在程序的任何地方访问,即全局变量。在JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量都是global对象的属性,如:console、process等。一、全局对象与全局变量
global最根本的作用是作为全局变量的宿主。满足以下条件成为全局变量:
1.在最外层定义的变量
2.全局对象的属性
3.隐式定义的变量(未定义直接赋值的变量)
在Node.js中不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不是最外层上下文。二、process
它用于描述当前Node.js进程状态的对象。提供了一个与操作系统的简单接口,通常写本地命令行程序的时候,会用到它。
1.process.argv是命令行参数数组,第一个元素是node,第二个元素是脚本文件名,第三个元素开始每个元素是一个运行参数。console.log(process.argv);
/*node argv.js '11' '22' 33 oo
输出:node.exe 
argv.js 
'11' 
'22' 
33 
'oo'*/
2.process.stdout是标准输出流,进入node环境,通常我们使用的console.log()  其底层是用 process.stdout.write();实现。
3.prcess.stdin是标准输入流,初始时它是被暂停的。要想从标准输入流读取数据,必须恢复流,并手动编写流的事件相应函数。//恢复流
process.stdin.resume();
process.stdin.on('data',function(data){process.stdout.write('read from console'+data.toString());
})
//node stdin.js 然后输入,可以一直输入
4.process.nextTick(callback)的功能是为事件循环设置一项任务。Node.js会在下次事件循环调响应时调用callback
Node.js适合IO密集型的应用,而不是计算密集型的应用。process.nextTick()提供了一个这样工具,可以把复杂的工作拆散,成较小的事件去执行。function doSomething(args,callback){somethingComplited(args);callback();
}      
doSomething('12345',function onEnd(){compute();
})
如果假设compute()和somethingComplited()是两个较为耗时的函数。以上的程序在调用doSomething时会先执行somethingComplited(args),然后立即调用回调函数,在onEnd()中又会执行compute(),改写为:function doSomething(args,callback){somethingComplited(args);process.nextTick(callback);
}
使用process.nextTick()后,改写后的程序会把上面耗时的操作拆分为两个事件,减少每个事件的执行时间,提高事件相应速度。function compute(){
console.log("I am is cpmpute method");
}
function somethingComplited(args){console.log("I am is somethingComplited method");console.log(args);
}
//function doSomething(args,callback){
//    somethingComplited(args);
//    callback();
//}
function doSomething(args,callback){somethingComplited(args);process.nextTick(callback);//这个方法是异步执行
}
doSomething('12345',function onEnd(){compute();
})5.process其他方法:process.platform()、process.pid()、process.execPath()、process.memoryUsage()等方法。。。API链接:http://nodejs.org/api/process.html
    
二、console
java中的log4j的   Logger logger=new Logger(Object.class);logger.infologger.errorlogger.debug用于提供控制台标准输出,Node.js沿用了这个标准,提供与习惯行为一直的console对象。
1.console.log().向标准输出流打印字符并以换行符结束。
使用案例:console.log("hello");console.log("hello%marico");console.log("hello%marico"," Mr. ");
2.console.error();用法与console.log()相同,只是向标准错误流输出。
3.console. trace();向标准错误六输出当前的调用栈
console.log("hello"); console.log('hello%marico');console.log('hello%marico',1991,'yfc');console.error('error!');console.trace('this is a error');/*hello
hello%marico
hello%marico 1991*/

 

转载于:https://www.cnblogs.com/yaowen/p/7014285.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

github1s 油猴插件

github1s 是一个非常有趣的项目,它可以让你在 1 秒内(俗称 1s)通过在线版本的 VS Code 来打开 GitHub 上的代码,只需要在对应项目的 URL 后面加上 1s 即可。 这是一个很有创意、很赞的项目,只需要在对应的 GitHub 项目…

WPF-02 布局

WPF中布局控件继承Panel,可以实现非常复杂的布局。我们介绍一下常用的布局控件1. Grid 布局控件Grid是网格布局控件,在WPF开发中我们用的最多的一个布局控件,可以自定义行和列,分别设置Height和Witdh值,一般推荐通过比…

275mib为什么不能联网_大众迈腾(275)MIB之导航使用教程

大众可以说近几年的发展非常快,仅车载收音机都更换了好几代了。从最初的单纯收音机到后来的6碟CD机RCD510,最初国内上市的导航RNS510,还有后来自带蓝牙的RNS315,再到PQ平台187A,当初抄的也火的几乎每天都看到187…

微信多开工具 可以同时在电脑上打开多个微信 免费开源

本程序用C#代码编写,运行环境FrameWork5.0以上。 主要代码: using Microsoft.Win32; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using Sys…

Linux 第十周学习笔记(2)smtp服务的部署

SMTP服务的部署介绍:SMTP(Simple Mail Transfer Protocol)简单邮件传输协议是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。一.环境的部署…

关于CTeX的几个大坑

https://blog.csdn.net/zjutczj/article/details/53463478 最近一直忙着写小论文,毕业设计中期答辩,没有更新博客,忙过这一阵我会把这段时间学习机器学习的一些心得分享。今天分享几个刚刚使用CTeX遇到的大坑,希望能挽救一些还没有…

西安电子地图下载 来自谷歌电子地图库 地图展示15、17、19级

西安电子地图下载 来自谷歌电子地图库 地图展示15、17、19级 一般来说商业用图几乎相同就是17级左右,提供的下载全然满足大多数人浏览使用,假设用于旅行外出当然级数越高越好,假设是驴行,那就更有必要下载完整的地图以作不时之需。…

0x0000050蓝屏srvsys_蓝屏代码0x00000050的原因及解决方法

经常使用电脑的朋友都知道, 电脑开机 出现蓝屏现象很普遍,相信大家都有遇到过吧?让我们经常的手足无措,不知道接下来应该怎么去操作!那么现在小编汇总起来告诉给大家出现蓝屏代码0x00000050怎么解决的具体内容,先对电脑进行局部的…

​Magicodes.Pay已支持Volo Abp

简介Magicodes.Pay希望打造一个统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core。目前已提供Abp及Abp VNext模块的封装,支持开箱即用。主要功能目前已提供Abp(含Abp VNext)模块的封装&#xf…

js继承

js继承 一、总结 1、js继承:和c,java不一样,是通过对象冒充, 原型链,混合模式来实现的 2、基础打牢:基础打牢,后面就很轻松 二、js继承 继承继承的相关概念 这里的继承和我们现实生活的中儿子继…

Linux console on LCD

有时候需要将开机启动的信息输出到LCD上,并且在终端上进行调试。本文记录更改的方法。 参考链接 http://blog.csdn.net/chenbang110/article/details/7870072 https://e2e.ti.com/support/embedded/linux/f/354/t/324198 https://blackfin.uclinux.org/doku.php?id…

vscode 头文件包含问题_WSL+VSCode = Linux ?

官方文档​code.visualstudio.com使用VSCode新推出的Remote功能来连接WSL或服务器进行开发. 可以在Windows上享受优秀的界面体验的同时使用Linux环境进行开发(还是要感谢无数的VSCode插件贡献者).环境基础配置Visual Studio Code最新版本注意点: 安装时需要勾选环境变量添加到p…

PerfView专题 (第十篇):洞察 C# 终结队列引发的内存泄漏

一:背景 C# 程序内存泄漏的诱发因素有很多,但从顶层原理上来说,就是该销毁的 用户根 对象没有被销毁,从而导致内存中意料之外的对象无限堆积,导致内存暴涨,最终崩溃,这其中的一个用户根就是 终结…

【JS第34期】BOM-window对象

BOM的核心对象是window,它表示浏览器的一个实例。它即是通过javascript访问浏览器窗口的一个接口,也是ECMAScript规定的Global对象。 全局作用域 由于window对象同时是Global对象,因此所有在全局作用域中声明的变量、函数会变成window对象的属性和方法。…

proc文件(OLD)

写一个模块测试proc文件的读写: 1 #include linux/module.h 2 #include linux/kernel.h 3 #include linux/proc_fs.h 4 #include linux/sched.h 5 #include asm/uaccess.h 6 7 #define STRINGLEN 1024 8 9 char global_buffer[STRINGLEN]; 10 11 struct…

java学习(七)java中抽象类及 接口

抽象类的特点: A:抽象类和抽象方法必须用abstract关键字修饰。 B:抽象类中不一定有抽象方法,但是抽象方法的类必须定义为抽象类 c: 抽象类不能被实例化,因为它不是具体的。 抽象类有构造方法,但不能被实例化&#xff1…

手机的小窗口怎么弄_荣耀9X如何设置桌面小工具?划重点,这个要考

为了方便手机操作,一些小伙伴会在手机桌面上添加天气、一键锁屏、日历等窗口小工具,那么问题来了!荣耀9X这款新手机是如何添加窗口小工具呢?官维君今天就来给大家讲解一下方法。标准姿势看这里——第一步:在桌面双指头…

ASP.NET Core 同时支持多种认证方式 | Swagger 支持

前言上次,我们实现了《ASP.NET Core 同时支持多种认证方式》:services.AddAuthentication().AddDemoAuthentication(options > { }).AddJwtBearer(options >{...});我们还希望为 Swagger 也添加多种认证支持。原来为支持 JWT 认证,Swag…

js监听url变化

//监听触发操作 function hashChangeFire(){alert("k") }//url变化监听器 if( (onhashchange in window) && ((typeof document.documentModeundefined) || document.documentMode8)) {// 浏览器支持onhashchange事件window.onhashchange hashChangeFire; …

Redis指南

一、简介 redis 和 memcached 都是高性能的键值缓存数据库服务,其中 memcached 支持多线程,而 redis 支持丰富的数据结构且能内置持久化机制。 redis 数据都是以键值形式存储的,键是字符串类型,值有 7 种类型(本质上是…