Node.js中的全域性物件和全域性函式
阿新 • • 發佈:2021-06-18
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('然哥攤了一個煎餅');