无法在javascript中初始化数组
我在js文件中有一个全局数组:无法在javascript中初始化数组,javascript,Javascript,我在js文件中有一个全局数组:var按钮单击
var按钮单击我在$(document)中实例化了它。ready(function()
。稍后我调用数组按钮的push方法clicked,但我得到了未捕获的TypeError:无法读取null的属性“push”
var buttonsClicked;
$(document).ready(function () {
buttonsClicked = new Array();
}
function f() {
buttonsClicked.push("some string");
}
稍后,当用户从前端触发一些按钮时,会调用f()方法。我不知道为什么这个数组是空的,即使是新的数组()似乎被调用。在浏览器控制台中,数组也为空。使用现代浏览器–至少用于开发–这样您就可以使用const
,并在重新定义按钮时捕获错误。按如下所示更改代码:
const buttonsClicked = [];
function f() {
buttonsClicked.push("some string");
}
此时,如果您试图在代码的任何部分中覆盖单击的按钮
,您将得到一个错误,您将看到分配它的位置。如果没有发生这种情况,字符串“some string”将添加。发布完整代码?我刚刚编辑了问题。我无法发布整个js文件,因为它太大了。f()方法是call later
,这是问题的关键-张贴您如何尝试使用它。在html文件中,我有如下内容:
在单击按钮之前,您似乎要在某个地方用null
覆盖按钮单击变量。如果根本找不到该变量,则错误消息会略微失真不同:“未捕获的TypeError:无法读取未定义的属性或方法‘push’。”