1.3 全局对象和模块规范 🎉
...大约 2 分钟
1.3 全局对象和模块规范 🎉
全局对象 💎
在浏览器 JavaScript
中,通常 window
是全局对象, 而 Node.js
中的全局对象是 global
,所有全局变量(除了 global
本身以外)都是 global
对象的属性。
全局变量可以直接进行使用,不需要引入。
__filename:表示当前正在执行的脚本的文件名,输出文件所在位置的绝对路径
__dirname:表示当前执行脚本所在的目录
setTimeout(cb, ms)
clearTimeout(t)
setInterval(cb, ms)
console
process:用于描述当前Node.js 进程状态的对象,提供了一个与操作系统的简单接口
process.exit()—退出当前的node进程
p
rocess.env—获取所有环境变量 process.on('uncaughtException',callFn)—捕获未捕获的异常
console.log(__filename);
// C:\Users\48642\Desktop\mark\docs\nodejs\nodejs\aaindex.js
console.log(__dirname);
// C:\Users\48642\Desktop\mark\docs\nodejs\nodejs
setTimeout(() => {
console.log(123);
}, 10000)
// console.log(process.env);
const someThingsError = () => {
throw new Error("我报错了")
// console.log('程序运行中无异常');
}
process.on('uncaughtException', (err) => { // 该监听一定要放到运行程序的上面,否则捕捉不到
console.log("程序运行中有异常");
})
someThingsError() // 该程序中有错误,如果不解决整个程序将会无法运行,当然使用try...catch...是可以的,没有使用的话异常也会在全局的 `uncaughtException`中进行捕获处理
process.exit() // 不会等待定时器执行,直接结束进程
模块规范 💎
Node.js模块规范遵循CommonJs模块规范。
require —导入要使用的模块
module.exports—导出要供其它模块使用的功能
exports—导出要供其它模块使用的功能
注意
不可以直接对exports赋值,应使用exports.key=value
const add = (num1, num2) => {
return (num1 + num2)
}
const add1 = (num1, num2) => {
return (num1 + num2)
}
// 方式一:导出单个
// module.exports = add
// 方式二:使用 exports导出单个
// exports.add1 = add1
//方式三:导出多个
module.exports = {
add,
add1
}
// 导入方式一:
// const add = require("./aaaindex");
// console.log(add(1, 2));
// 导入方式二:
// const { add1 } = require("./aaaindex");
// console.log(add1(2, 3));
// 导入方式三:
const { add, add1 } = require("./aaaindex");
console.log(add(1, 1));
console.log(add1(2, 3));
Powered by Waline v2.15.7