Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中,脚本保证在文档中以前的脚本完成运行后运行 请考虑以下片段: <!DOCTYPE html> <html> <head> <script src="script_1.js"></script> <script src="script_2.js"></script> </head> <body> <script> //script_3 </script> </body> </html> //脚本3_Javascript_Execution - Fatal编程技术网

在JavaScript中,脚本保证在文档中以前的脚本完成运行后运行 请考虑以下片段: <!DOCTYPE html> <html> <head> <script src="script_1.js"></script> <script src="script_2.js"></script> </head> <body> <script> //script_3 </script> </body> </html> //脚本3

在JavaScript中,脚本保证在文档中以前的脚本完成运行后运行 请考虑以下片段: <!DOCTYPE html> <html> <head> <script src="script_1.js"></script> <script src="script_2.js"></script> </head> <body> <script> //script_3 </script> </body> </html> //脚本3,javascript,execution,Javascript,Execution,如果script_1和script_2中没有异步代码,一个人能否确保script_3仅在script_1完成执行后运行,而script_2c仅在script_1完成后运行 因为现在我有一种情况,script\u 3在script\u 2完成之前不时地开始,而且似乎所有的脚本都没有任何异步代码。但我不能用一个简单的例子来再现这种情况 多谢各位 如果脚本_1和脚本_2中没有异步代码,是否可以确保脚本_3仅在脚本_1和脚本_2完成执行后运行,脚本_2c仅在脚本_1完成后运行 是,前提是所有脚本标记都不

如果
script_1
script_2
中没有异步代码,一个人能否确保
script_3
仅在
script_1
完成执行后运行,而
script_2
c仅在
script_1
完成后运行

因为现在我有一种情况,
script\u 3
script\u 2
完成之前不时地开始,而且似乎所有的脚本都没有任何异步代码。但我不能用一个简单的例子来再现这种情况

多谢各位

如果脚本_1和脚本_2中没有异步代码,是否可以确保脚本_3仅在脚本_1和脚本_2完成执行后运行,脚本_2c仅在脚本_1完成后运行

是,前提是所有脚本标记都不使用

请注意,这与此非常不同,但是:

<script src="script1.js"></script>
<script src="script3.js"></script>
…在这种情况下,
script2.js
script3.js
的顺序是混乱的


但是,如果
script1.js
使用
document.write
来输出
script2.js
script标记,这将类似于标记版本,并且顺序将得到保证(1,然后2,然后3)。

是的,因为代码中没有
defer
或任何其他内容,脚本保证按顺序运行,在所有浏览器中。如何确切地说,浏览器似乎没有异步代码?如果你能发布他们的内容,即使你不能减少示例代码,那就太好了。@Bergi,我不能在这里发布代码。第一个原因是它相当大,第二个原因是我不允许透露这个代码。现在,在回答之后,我认为这些文件有一些异步代码,我只是暂时没有发现它。
var script = document.createElement('script');
script.src = "script2.js";
document.getElementsByTagName('script')[0].parentNode.appendChild(script);