我有2个js文件,test1.js和test2.js 他们像这样加载:
<script src="test1.js"></script>
<script src="test2.js"></script>
在test1.js
我有一个全局var var myVar = [];
我尝试在test2.js
中读取此var,但我收到未定义的错误。
可能会导致此行为,因为它是全局变种。
答案 0 :(得分:3)
常见的错误是您的代码是否在页面就绪功能中
例如jquery document ready $(document).ready()
:
$(document).ready(function() {
foo = '';
// more code...
// more functions...
});
如果是这种情况,您的var不是全局的,您将无法在test2.js
中看到您的var
JavaScript具有功能级变量范围。 没有其他情况我可以想到这可能会发生。全局变量在您描述的场景中可见。
所以只需在外面声明你的var。初始myvar
是这样的:
var myVar = [];
在一切之上。
答案 1 :(得分:-2)