最近发现一个比较奇怪的问题
如下代码
a.js
console.log('load a');
const script = document.createElement('script');
const src = document.createAttribute('src');
src.value = 'b.js';
script.setAttributeNode(src);
document.head.append(script);
b.js
console.log('load b');
const c = 100;
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="a.js"></script>
</head>
<body>
<script>
console.log(c);
</script>
</body>
</html>
结果就报错了
这是怎么回事? 我在index里面引入a, 在a里面引入b, 为什么index里面就不能访问b里面的变量?
推断可能是加载问题, 但是不知道怎么解决
动态脚本的加载不会阻塞主页面,他会在加载完成后立即执行