test.html
<script type="module" src="./B.js"></script>
A.js
import {bar} from './B.js';
import {test} from './B.js';
export function foo() {
bar();
}
test();
console.log("IN A");
B.js
import {foo} from './A.js';
export function bar() {
if (Math.random()) {
foo();
}
}
export function test() {
console.log("test");
}
console.log("IN B");
输出为:
B.js:30 test
A.js:24 IN A
B.js:33 IN B
为什么“ In B”是最后执行的代码行?另外,如果在test.html src="./A.js"
中,“ IN B”是执行的第一行。