如题,初学 react. 我在 app 中可以直接 access windown 和 DEV 之类的全局变量,但是我想问下有没办法列出所有可用的全局变量?
1
Pastsong 2018-12-16 13:45:20 +08:00
console.log(window)
和 react 无关 |
2
DamienS OP @Pastsong 除了 window,我测试了下 process 好像也是一个?
console.log(process) 我能打出 {nextTick: ƒ, title: "browser", browser: true, env: {…}, argv: Array(0), …} 假设有人定义了新的全局变量(而且没有加到 window 里). 我要怎么知道这个变量存在? js 中有没有那种列出所有全局变量的方法, 还是人为定义新的变量只能加到现有的 window 里? |
3
Pastsong 2018-12-16 14:22:34 +08:00
浏览器环境里 window 等于 global,你可以试下 window.window === window
node 里面就直接叫 global process 并不是浏览器原生的变量,应该是其他脚本注入的 |
4
maplerecall 2018-12-16 15:40:08 +08:00 via Android
需要注意,你说的 DEV 很可能并不是一个全局变量,而是 webpack 的 definePlugin 注入的一个标识符,在编译时会被替换成 webpack.config 里写的一个的 node 中的变量,浏览器的 runtime 里并不会存在这个,你看编译后的代码一般 DEV 的地方会直接被替换成 true 或者 false 之类的固定值
|