浏览器下的全局对象是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`
对象
来声明
全局
变量。