Node.js —— 全局对象与全局函数
一、global 对象
在Node.js下,脚本文件不是在全局作用域下,防止了全局污染;在浏览器中,全局window,脚本文件是在全局作用域下,存在全局污染。
二、console 对象
console.log() // 打印日志
console.info() // 打印信息
console.warn() // 打印警告
console.error() // 打印错误
/*
console.time() console.timeEnd()
联系:查看for,while,do-while,分别循环100000次的耗时
注意:开始计时和结束计时里面的参数要保持一致
*/
console.time(‘for‘);
for (var i = 0; i < 100000; i++) {};
console.timeEnd(‘for‘);
console.time(‘do_while‘);
var m = 0;
do {
m++;
} while (m < 100000);
console.timeEnd(‘do_while‘);
console.time(‘while‘);
var n = 0;
while (n < 100000) {
n++;
};
console.timeEnd(‘while‘);
三、process 对象
process.arch // 查看当前CPU的架构
process.platform // 查看当前操作系统的版本
process.version // 查看当前Node.js的版本号
process.pid // 查看当前Node.js进程的编号
process.kill(编号) // 结束指定编号的进程
四、Buffer 对象
buffer是内存中的区域,用于临时存储数据,buffer中一个汉字占3个字节。Buffer.alloc(5, ‘abcde‘) // 创建buffer对象并存储数据
String(buf) / buf.toString() // 将buffer转为字符串
/* 1. 创建buffer,存储数据 */
let buf = Buffer.alloc(5, ‘abcde‘);
console.log(buf); // <Buffer 61 62 63 64 65> 显示的十六进制UTF-8编码
/* 2. 将buffer数据转为字符串 */
// console.log(String(buf));
let buf = Buffer.alloc(9, ‘让哥666‘); // 注意汉字占用3个字节
console.log(buf.toString());
五、定时器函数
1. 一次性定时器
开启:let timer = setTimeout(回调函数, 间隔时间);
清除:clearTimeout(timer);
2. 周期性定时器
开启:let timer = setInterval(回调函数, 间隔时间);
清除:clearInterval(timer);
/* 定时器任务属于异步任务,会在主程序执行完之后再执行,两个定时器函数均先执行下面的代码,清除后会立马失效并且先打印‘然哥摊了一个煎饼‘ */
// 1. 开启一次性定时器
let timer = setTimeout(function(){
console.log(‘boom‘);
}, 3000);
// 清除
clearTimeout(timer);
console.log(‘然哥摊了一个煎饼‘);
// 2. 开启周期性定时器
let timer = setInterval(() => {
console.log(‘boom‘);
}, 1000);
// 清除
clearInterval(timer);
console.log(‘然哥摊了一个煎饼‘);