我在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()似乎被调用。在浏览器控制台中,数组也为空。
答案 0 :(得分:0)
使用现代浏览器 - 至少用于开发 - 因此您可以使用const
并在重新定义buttonsClicked
时捕获错误。更改代码如下:
const buttonsClicked = [];
function f() {
buttonsClicked.push("some string");
}
此时,如果您在代码的任何部分尝试覆盖buttonsClicked
,则会出现错误,并且您会看到您在哪里分配它。如果这没有发生,字符串"某些字符串"将被添加。