React 有没有办法列出所有 global variable

2018-12-16 13:16:30 +08:00
 DamienS

如题,初学 react. 我在 app 中可以直接 access windown 和 DEV 之类的全局变量,但是我想问下有没办法列出所有可用的全局变量?

2407 次点击
所在节点    React
4 条回复
Pastsong
2018-12-16 13:45:20 +08:00
console.log(window)

和 react 无关
DamienS
2018-12-16 14:17:17 +08:00
@Pastsong 除了 window,我测试了下 process 好像也是一个?

console.log(process) 我能打出
{nextTick: ƒ, title: "browser", browser: true, env: {…}, argv: Array(0), …}

假设有人定义了新的全局变量(而且没有加到 window 里). 我要怎么知道这个变量存在? js 中有没有那种列出所有全局变量的方法, 还是人为定义新的变量只能加到现有的 window 里?
Pastsong
2018-12-16 14:22:34 +08:00
浏览器环境里 window 等于 global,你可以试下 window.window === window

node 里面就直接叫 global

process 并不是浏览器原生的变量,应该是其他脚本注入的
maplerecall
2018-12-16 15:40:08 +08:00
需要注意,你说的 DEV 很可能并不是一个全局变量,而是 webpack 的 definePlugin 注入的一个标识符,在编译时会被替换成 webpack.config 里写的一个的 node 中的变量,浏览器的 runtime 里并不会存在这个,你看编译后的代码一般 DEV 的地方会直接被替换成 true 或者 false 之类的固定值

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/517991

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX