<分区>
我有 2 个 js 文件,test1.js 和 test2.js 它们是这样加载的:
<script src="test1.js"></script>
<script src="test2.js"></script>
在 test1.js
我有一个全局变量,var myVar = [];
我试图在 test2.js
中读取此 var,但我收到了一个未定义的错误。
由于它是全局变量,可能导致此行为的原因。
标签 javascript
<分区>
我有 2 个 js 文件,test1.js 和 test2.js 它们是这样加载的:
<script src="test1.js"></script>
<script src="test2.js"></script>
在 test1.js
我有一个全局变量,var myVar = [];
我试图在 test2.js
中读取此 var,但我收到了一个未定义的错误。
由于它是全局变量,可能导致此行为的原因。
最佳答案
一个常见的错误是你的代码是否在页面就绪函数中
例如 jquery 文档就绪 $(document).ready()
:
$(document).ready(function() {
foo = '';
// more code...
// more functions...
});
如果是这种情况,您的 var 不是全局的,您将无法在 test2.js
中看到您的 var,因为
JavaScript 具有函数级变量范围。 没有其他情况 我认为这可能会发生。全局变量在您描述的场景中可见。
所以只要在外面声明你的var。像这样初始化 myvar
:
var myVar = [];
一切之上。
关于javascript - JS 全局变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47829392/
相关文章:
JavaScript Fetch API 可以在 `.then ` 回调中访问 header 和 JSON 吗?
javascript - jquery 显示/隐藏带有鼠标悬停的大图像
javascript - 如何拉伸(stretch)一个 block 的高度?
javascript - jQuery .NOT() $(this) 或 $(this).parent()
javascript - 为什么 YouTube JavaScript Player API 打开与我的代码中的 URL 不同的 URL,并且只播放播放列表的第一个视频?
javascript - 引用 s 中的变量 :url action attribute