node.js - 节点的全局变量与在反应组件 SSR 中创建的名为 global 的变量
问题描述
如果我有一个在节点上运行的 SSR react 应用程序,其组件设置了一个类似的变量let global = {}
,然后执行类似的操作global.name = 'sam'
,这个全局变量是否会替换/覆盖节点的全局对象,或者这个全局变量是否会在反应组件的范围内?当组件卸载时,这个对象会被垃圾回收,还是会作为节点的全局对象留在内存中?
我知道global
用作变量名不是最佳实践,但只是想知道这是否会导致内存泄漏。
解决方案
该变量将仅替换定义新变量的范围内的let global
节点。global
console.log(global) // Object [global] {...}
function go(){
let global = {}
console.log(global) // {}
}
go()
console.log(global) // Object [global] {...}
global
使用节点时不要使用命名的变量。
推荐阅读
- python - 在 python 中整齐地打印一个 .txt 文件
- javascript - 如何将值从 js 传递到 Rails 中的 hidden_field?
- perl - 无法在远程机器上使用 Net::SSH::Expect 执行命令
- sql - 具有额外关系行或 null 的 sql 查询
- fabricjs - 如何对齐所选对象的上/左/下/右(FabricJS)
- automated-tests - 在 Botium Box 中测试包含 HTML 标记的 Watson 响应
- javascript - 使用对象在数组内部循环以获取其中一个属性
- c# - ASP.NET 应用程序最初失败:远程主机强制关闭现有连接
- python - 无法在 Docker 上托管语音识别和声音播放应用程序
- html - 背景图像未使用 CSS 显示