【问题标题】:Can an externally hosted javascript file's code get executed parallel with window.load in a Page可以在页面中与 window.load 并行执行外部托管的 javascript 文件的代码吗
【发布时间】:2016-06-15 18:00:02
【问题描述】:

关于 window.onload 调用的外部托管 javascript 文件的执行流程是什么。 假设我们在外部文件中有以下代码:

(function() {

   console.log('logging1...');
})();

var func1 = function() {
   console.log('func1 invoked!');
};

func1();

在 window.load 被触发之前,

1.) 上述代码的执行流程或输出是什么?

2.) 是否有可能在 window.load 之后执行文件的任何代码?

3.) 与window.load并行,可以执行外部文件代码。

【问题讨论】:

标签: javascript html execution


【解决方案1】:

1.) 上述代码的执行流程或输出是什么?

通常是:

logging1...
func1 invoked!

这里的函数调用顺序没有歧义。但请注意console.log() 未标准化以立即打印输出。它可以很好地同步返回,而无需按照console.log() 函数调用的顺序打印给定的参数。

2.) 是否有可能在 window.load 之后执行文件的任何代码?

没有(当然,除了事件侦听器、计时器等中的代码)。

load 事件在文档加载过程结束时触发。在 此时,文档中的所有对象都在 DOM 中,并且所有 图片、脚本、链接和子框架已完成加载。 (https://developer.mozilla.org/de/docs/Web/API/GlobalEventHandlers/onload)

3.) 与window.load并行,可以执行外部文件代码。

并行是什么意思? JavaScript 是单线程的。

【讨论】:

    猜你喜欢
    • 2013-06-24
    • 2013-03-31
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    相关资源
    最近更新 更多