无法在javascript中初始化数组

时间:2018-06-02 08:36:19

标签: javascript

我在js文件中有一个全局数组:var buttonsClicked;我在$(document).ready(function ()内实例化它。后来我调用了数组按钮的推送方法,但我得到了Uncaught TypeError: Cannot read property 'push' of null

var buttonsClicked;

$(document).ready(function () {

    buttonsClicked = new Array();
}

function f() {
    buttonsClicked.push("some string");
}

当用户从前端触发某些按钮时,稍后调用f()方法。我不知道为什么这个数组为空,即使新的Array()似乎被调用。在浏览器控制台中,数组也为空。

1 个答案:

答案 0 :(得分:0)

使用现代浏览器 - 至少用于开发 - 因此您可以使用const并在重新定义buttonsClicked时捕获错误。更改代码如下:

const buttonsClicked = [];

function f() {
  buttonsClicked.push("some string");
}

此时,如果您在代码的任何部分尝试覆盖buttonsClicked,则会出现错误,并且您会看到您在哪里分配它。如果这没有发生,字符串"某些字符串"将被添加。