marp | paginate | style |
---|---|---|
true |
true |
h1 {
color: #0bb8e8;
}
|
查看全局变量
$> node
> for (var k of Object.keys(global)) { console.log(k);}
console
global
process
Buffer
clearImmediate
clearInterval
clearTimeout
setImmediate
setInterval
setTimeout
module
require
是一个包含所有全局变量的变量 它同时包含了自己
但是,其中: module require
并不是全局变量
而是一种会在每个模块都存在的变量 是模块级别的局部变量
一个简单的调试器,用于模拟浏览器端的 console。 console 英文的意思是安慰,使舒服。 这里可以理解为让你控制计算机更加的舒服。 console => terminal
- console 是 Console 类的一个对象,可以配置它的方法写入到任何 node.js 支持的流中去
- console 默认被配置到 process.stdout 和 process.stderr
当前进程,提供了进程的相关信息与控制等能力
- 是承继于 EventEmitter 的对象
- 能对事件进行响应
- 包含了 stdin,stdout,stderr
- 包含了用户与组管理接口
- 包含了进程启动的参数
- setImmediate(callback[, ...args])
- setTimeout(callback, delay[, ...args])
- setInterval(callback, delay[, ...args])
其中: a. 1 返回类 Immediate 的对象 b. 2,3 返回类 Timeout 的对象
格式
setImmediate(callback[, ...args])
callback 必须是函数,不能是字符。这与前端的 JS 存在差别。 delay 是毫秒数,最小是 1 ...args 任意数量的参数,用以传给 callback 函数
var timer = setTimeout("console.log('hello');", 1);
- 无参数传入时
$> var timer = setTimeout(function(a, b, c) {
console.log(a, b, c);
}, 1000);
输出:
undefined undefined undefined
图示:
- 传入一个参数
$> var timer = setTimeout(function(a, b, c) {
console.log(a, b, c);
}, 1000, 1);
输出:
1 undefined undefined
图示:
- 传入二个参数
$> var timer = setTimeout(function(a, b, c) {
console.log(a, b, c);
}, 1000, 1, 'a');
输出:
1 'a' undefined
图示:
设定执行完回调,即这个调用可能是比较消耗时间的,暂时不阻止主进程的执行,等主进程执行完之后再执行。
var timer = setImmediate(function(a, b, c) {
console.log(a, b, c);
}, 1000, 1, 'a');
console.log("hello");
输出:
hello
1000 1 'a'
在没有出现TypedArray之前,Node 创建它用于处理二进制。 有了 Buffer,在处理网络 IO 与文件 IO 时,数据流就可以处理了。 而 JS 在 ES6 之前是没有处理二进制的能力的。 Buffer 是处理二进制之间的转换的,不是用于字符转换的。
module require 都是模块的机制下的参数, 在每个文件或者运行环境都会存在, 但是他们不是全局级别的