Node学习(一)-全局变量——global是node中最大的一个对象-可省略 & __dirname-目录的绝对路径 & __filename-文件的绝对路径
2. Node学习
2.1 前言
前面介绍了node也提供了一种JS的执行环境,确切的说是ECMAScript的执行环境。
node不但可以执行我们学习过的ECMAScript,node还自带了很多全局对象和很多模块。
2.2 全局变量
说明:
- node中有一个全局变量global,是node中最大的一个对象,相当于浏览器中的window对象。
- global中的成员在使用时,可以省略global,这点也类似浏览器中的window
下面介绍几个全局对象global中的成员:
- console,我们在初体验时,使用了console,它可不是浏览器中的console对象,使用的是node中的console
- process,和进程相关的对象
- setInterval,同理,也是node中的,不是浏览器中的
- require(),它是全局对象global中的一个方法,用于在js文件中引入另外的文件
- require() 方法可以在js文件中加载另外的js文件(模块)
- require() 方法可以在js文件中加载json文件
- __dirname,当前执行文件的绝对路径(在js文件中使用)
- __filename,当前执行文件的绝对路径,包含文件名(在js文件中使用)
示例
查看全局变量.js
// global是node中,最大的一个对象,其他所有内容都是这个对象的成员
// console.log(global);
// 调用global的成员
global.console.log(123);
// 可以省略global
console.log(456);
// __dirname 表示当前正在执行的js文件所在的目录,是一个绝对路径
console.log(__dirname);
// __filename 表示当前正在执行的js文件的路径,是一个绝对路径
console.log(__filename);
注:打开node终端进行上述验证即可
实例
上述成员使用下面的代码进行演示:
02-require.js
// require() 它是global对象的成员,该方法可以加载其他的js文件,也能够加载其他的json文件
// require() 加载js文件,相等于把01-demo.js中的代码复制到这里
// require('./01-demo.js');
// require() 加载json文件,而且会将加载的结果处理成js数组或对象
// let j = require('./000.json');
// console.log(j); // 得到js数组
// __dirname 表示当前js文件所在的目录的绝对路径
// console.log(__dirname); // E:\Study\76\Node\day03\code
// __filename 表示当前js文件所在的绝对路径,包含文件名
console.log(__filename); // E:\Study\76\Node\day03\code\02-require.js
01-demo.js
// 写点js代码,让node执行一下
let fn = () => {
console.log(123);
};
fn();
for (let i = 1; i <= 3; i++) {
console.log(i);
}
000.json
[
{"id": 1, "name": "张三疯", "content": "哈哈哈哈"},
{"id": 2, "name": "张三疯", "content": "哈哈哈哈"},
{"id": 3, "name": "张三疯", "content": "哈哈哈哈"},
{"id": 4, "name": "张三疯", "content": "哈哈哈哈"}
]