Javascript 在浏览器中按顺序加载脚本

Javascript 在浏览器中按顺序加载脚本,javascript,html,Javascript,Html,我有两个文件A.js和B.js。我在我的html中导入它们,如下所示 <script type="text/javascript" src="A.js"></script> <script type="text/javascript" src="B.js"></script> 如果我在a.js中定义了一个变量 我可以从B中的A访问变量吗 装货顺序是什么?B能先来吗 是的,您可以从B访问该变量。但在A中,您将无法访问B的变量,除非它完成加载。

我有两个文件
A.js
B.js
。我在我的html中导入它们,如下所示

<script type="text/javascript" src="A.js"></script>
<script type="text/javascript" src="B.js"></script>

如果我在
a.js
中定义了一个变量

  • 我可以从B中的A访问变量吗
  • 装货顺序是什么?B能先来吗

是的,您可以从B访问该变量。但在A中,您将无法访问B的变量,除非它完成加载。加载将维护序列A和序列B。如果您使用jquery并在其中使用document.reday函数和access变量,我更愿意这样做。这将等待所有脚本加载完毕,然后开始执行。任何函数中的变量在js中都是全局变量,因此您可以从任意位置访问它。

是的,您可以从B访问该变量。但在A中,除非B的变量完成加载,否则您将无法访问B的变量。加载将维护序列A和序列B。如果您使用jquery并在其中使用document.reday函数和access变量,我更愿意这样做。这将等待所有脚本加载完毕,然后开始执行。任何函数中的变量都是js中的全局变量,因此您可以从任何地方访问它。

从:

有三种可能的模式可以使用这些选项进行选择 属性。如果存在async属性,则脚本将被删除 一旦可用,就异步执行。如果异步 属性不存在,但延迟属性存在,则 脚本在页面完成解析后执行。如果两者都没有 属性,则获取并执行脚本 紧接着,在用户代理继续解析页面之前

因此,只要您没有使用
defer
async
属性,
A
将可用于
B.js

,从:

有三种可能的模式可以使用这些选项进行选择 属性。如果存在async属性,则脚本将被删除 一旦可用,就异步执行。如果异步 属性不存在,但延迟属性存在,则 脚本在页面完成解析后执行。如果两者都没有 属性,则获取并执行脚本 紧接着,在用户代理继续解析页面之前


因此,只要您不使用
defer
async
属性,
A
将可用于
B.js
,Javascript与其他编程语言不同。首先,它们是连续加载的,而且,在B locad完成之前,B中的变量是不可访问的


换句话说,在您面临的情况下,在页面加载完成之前,您无法从A调用B中的任何内容,或者您可以使用jQuery document ready。

Javascript与其他编程语言不同。首先,它们是连续加载的,而且,在B locad完成之前,B中的变量是不可访问的

换句话说,在您面临的情况下,在页面加载完成之前,您不能从A调用B中的任何内容,或者您可以使用jQuery document ready

<script type="text/javascript">
    var test = "";
</script>
<script type="text/javascript" src="A.js"></script>
<script type="text/javascript" src="B.js"></script>

var检验=”;
使用以下命令:

<script type="text/javascript">
    var test = "";
</script>
<script type="text/javascript" src="A.js"></script>
<script type="text/javascript" src="B.js"></script>

var检验=”;

谷歌搜索和粗略测试可以回答这两个问题。您可以通过创建变量并尝试调用它来回答1,也可以通过查看浏览器的网络控制台来回答2。@Utkanos,当然我已经测试过了,但是我可以相信文件A总是在加载之前加载的吗?您可以在js文件外定义全局范围变量(加载之前),然后在文件内与它们交互。-这对我来说是一个基于客户端的html游戏。谷歌搜索和粗略测试可以回答这两点。您可以通过创建变量并尝试调用它来回答1,也可以通过查看浏览器的网络控制台来回答2。@Utkanos,当然我已经测试过了,但是我可以相信文件A总是在加载之前加载的吗?您可以在js文件外定义全局范围变量(加载之前),然后在文件内与它们交互。-这对我来说是一个基于客户端的html游戏。他为什么要用这个?他为什么要用这个?