我的目标是在单个文件中定义所有gloabl变量,并使用中央方法使用常量名称动态读取常量值。 为了重现此问题,我创建了一个包含三个文件的测试项目:
我使用“ const”来声明所有全局变量。但是我在这里使用c1的“ var”只是为了确定在这种情况下“ var”和“ const”之间是否存在差异。
运行此代码后,仅显示c1值,但第二个值未定义。
该问题如何解决?
如何读取所有声明为“ const”的全局变量(我正在使用ECMAScript 6)?
// globalVariable.js内容
var c1 = 'name 1';
const c2 = 'name 2';
// main.js内容
function testMain(param1, param2){
console.log(this[param1]);
console.log(this[param2]);
}
testMain('c1', 'c2');
// index.html内容
<script type="text/javascript" src="./js/globalVariable.js"></script>
<script type="text/javascript" src="./js/main.js"></script>
//测试结果
name 1 main.js:4:13
undefined main.js:5:13