javascript - JS 全局变量未定义

标签 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 - 点击jquery中的多个元素?

javascript - 第二页不适用于第一页中的代码

javascript - 如何拉伸(stretch)一个 block 的高度?

javascript - jQuery .NOT() $(this) 或 $(this).parent()

javascript - 为什么 YouTube JavaScript Player API 打开与我的代码中的 URL 不同的 URL,并且只播放播放列表的第一个视频?

javascript - 引用 s 中的变量 :url action attribute

javascript - 寻找一种在 javascript 中对对象数组进行排序的方法

javascript - 数据表 row.add([]) 传递一个 jquery dom?