浏览器下的全局对象是window,而Node.js 下的全局对象是 global。

二、Node.js全局对象global的注意事项

• 在交互模式下,声明的变量和函数都属于 global

• 例如:var a = 1;global.a 可以访问到

• 示例:1. 首先直接打印一个global.a,我们看到2个undefined,第一个undefined是a的,第二个undefined是console.log的。

通过如下我们打印global能够打印出结果,说明undefined不是global出现的,而是console.log出现的第二个undefined。

2.我们var定义一个a变量,然后通过global全局对象进行访问a变量,发现打印结果出现啦!

• 在脚本模式下,声明的变量和函数都不属于 global

• 例如:var a = 1;global.a 访问不到

我们node端中没有window对象,所以我们无法访问到window对象,也不能使用window对象访问其他变量。

​一、浏览器全局对象和Node.js 全局对象浏览器下的全局对象是window,而Node.js 下的全局对象是 global。二、Node.js全局对象global的注意事项• 在交互模式下,声明的变量和函数都属于 global• 例如:var a = 1;global.a 可以访问到• 示例:1.首先直接打印一个global.a,我们看到2个undefined,第一个undefined是a的,第二个undefined是console.log的。通过如下我们打印global能够打印出 1.窗口位置 1.screenLeft:返回浏览器窗口相对于屏幕左上角的水平距离,不兼容FF浏览器 2.screenTop:返回浏览器窗口相对于屏幕左上角的垂直距离,不兼容FF浏览器 3.screenX:功能同于screenLeft,兼容FF 4.screenY:功能同于screenTop,兼容FF 2.窗口大小(IE9以下不兼容) 1.innerWidth:返回网页在当前窗口中可见的部分宽度,包含滚动条宽度 2.innerHeight:返回网页在当前窗口中可见的部分高度,包含滚动条宽 window 是客户端浏览器 对象 模型的基类, window 对象 是客户端 JavaScript 的 全局 对象 。一个 window 对象 实际上就是一个独立的窗口,对于框架页面来说,浏览器窗口每个框架都包含一个 window 对象 window s 对象 的方法: // window 对象 前面可以省略 window . window .prompt("指定字符") //弹出一个带有指定字符的输入框 window .alert("指定字符") //弹出一个带有指定字符的提示 范式化设计(Normalization)的主要目标是 “减少不必要的更新” 副作用:一个完全范式化设计的数据库经常面临 “查询缓慢” 的问题 数据库余额范式化,就需要 Join 越多的表 范式化节省了储存空间,但是储存空间越来越便宜 范式化简化了更新,但是数据 “读” 取操作可能越多 Denormalization 反范式化设计 于是用英文搜了一下,没想到答案如此简单: // 在需要的位置建一个扩展 window 的变量,名字无所谓 const Employee Window = window as any; // 在变量之下创建需 2. 使用 `globalThis` 对象 在 ECMAScript 2020 中,新增了一个 全局 对象 `globalThis`,它可以在所有的 JavaScript 环境中使用,包括浏览器和 Node.js 。你可以使用 `globalThis` 对象 来声明 全局 变量,例如: globalThis.a = 1; console.log(a); // 1 注意:`globalThis` 对象 Node.js 12.0 及更高版本中支持。 总结:在 Node.js 中,你可以使用 `global` 或 `globalThis` 对象 来声明 全局 变量。