全局常量未加载

时间:2019-07-10 14:01:21

标签: javascript ecmascript-6

我的目标是在单个文件中定义所有gloabl变量,并使用中央方法使用常量名称动态读取常量值。 为了重现此问题,我创建了一个包含三个文件的测试项目:

  • globalVariable.js:包含所有全局变量。
  • main.js:包含读取全局变量的中央方法。
  • index.html: 加载globalVariable.js和main.js

我使用“ 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

0 个答案:

没有答案