让我们将其命名为 A.js 和 B.js。
在 aspx 页面的页面加载中,我试图按 A.js,B.js 的顺序加载 JS。
我在 B.js 中使用了一个在 A.js 中声明的方法。但是我在控制台中收到一个错误函数未声明的警报。
但是当我尝试从 B.js 或 A.js 发出警报时,脚本工作正常。它采取的方法和页面是好的。为什么这样?
我需要做什么才能让它在没有警报的情况下工作?
让我们将其命名为 A.js 和 B.js。
在 aspx 页面的页面加载中,我试图按 A.js,B.js 的顺序加载 JS。
我在 B.js 中使用了一个在 A.js 中声明的方法。但是我在控制台中收到一个错误函数未声明的警报。
但是当我尝试从 B.js 或 A.js 发出警报时,脚本工作正常。它采取的方法和页面是好的。为什么这样?
我需要做什么才能让它在没有警报的情况下工作?
脚本是异步加载的,所以你永远不知道哪个文件会先加载。很可能是字节数较少的一个。
如果您想按您提供的顺序加载脚本,请使用requirejs 之类的库。
我做了一个小例子并使用了对我有用的window.load 事件。在 SO 或jquery.load上查看这个问题
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="a.js"></script>
<script src="b.js"></script>
</head>
<body>
<script>
window.addEventListener("load", function () {
methodB();
}, false);
</script>
</body>
</html>