function loadScript(src, callback) {
let script = document.createElement('script');
script.src = src;
script.onload = () => callback(script);
document.head.append(script);
}
loadScript('/my/script.js', function() {
...
...
});
这里触发onload事件时执行回调函数。但是什么时候会触发onload事件?追加脚本时会调用onload事件吗?因为我看到我的回调函数的执行在loadScript调用后立即发生。
在将脚本源从script.src
URL复制到DOM中并执行脚本中的代码之后执行。
在console.log()
和回调函数中放入一些script.js
语句,您应该看到一切发生的顺序。