javascript - 导入变量后的javascript在初始化之前无法访问
问题描述
为什么我可以记录导入的变量,但是当我添加到另一个变量时它显示未定义。
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script type="module" src="index.js"></script>
</body>
</html>
index.js
import log from './log.js';
export var test = 'Hello';
log();
日志.js
import { test } from './index.js';
var x = test + ' Word'
export default function log() {
console.log(test);
console.log(x);
}
控制台日志
Hello
undefined Word
解决方案
在 log.js 中,您需要在函数中初始化 var "x"。这会奏效,我测试过。
import { test } from './index.js';
export default function log() {
var x = test + ' Word'
console.log(test);
console.log(x);
}
推荐阅读
- r - 当我在 R 中连接我的数据库时,它没有列出我所有的表
- mongodb - 使用scala创建嵌套字段并将数据框存储到MongoDB?
- java - 是否可以按正确的顺序获取类的所有方法?
- spring - Spring Framework - 注入 bean 的子集
- python - 将带有对象的属性插入数据框中以提取为 JSON 字符串
- javascript - 如何配置Javascript以输出'NaN'+数字=数字(即)'NaN+32=32而不是'NaN'
- css - 在下面的代码中,伪类 nth-of-type 和 nth-child 的行为不像我预期的那样
- c# - 如何替换字符串中由 ASCII 值表示的所有特殊字符
- kubernetes - 可以将自定义文件添加到 /srv/kubernetes 吗?
- node.js - 获取 Http 标头 - Nodejs - 无服务器 - Aws - Lambda