javascript - 无法在javascript中初始化数组
问题描述
我在 js 文件中有一个全局数组:var buttonsClicked;
我在$(document).ready(function ()
. 后来我调用了数组buttonsClicked的push方法,但我得到了Uncaught TypeError: Cannot read property 'push' of null
var buttonsClicked;
$(document).ready(function () {
buttonsClicked = new Array();
}
function f() {
buttonsClicked.push("some string");
}
当用户从前端触发一些按钮时,稍后会调用 f() 方法。我不知道为什么这个数组是空的,即使 new Array() 似乎被调用了。在浏览器控制台中,该数组也为空。
解决方案
使用现代浏览器——至少用于开发——这样你就可以const
在重新定义buttonsClicked
. 更改代码如下:
const buttonsClicked = [];
function f() {
buttonsClicked.push("some string");
}
此时,如果您尝试在代码的任何部分覆盖buttonsClicked
,您将收到错误,并且您将看到分配它的位置。如果这没有发生,将添加字符串“some string”。
推荐阅读
- r - 使用插入符号查找最近的邻居
- c# - 如何将 windows 用户名绑定到文本字段并发送到 SQL 表
- typescript - nodejs和打字稿中var,let和const之间的区别?
- c++ - 为什么整数类型 int64_t 不能保持这个合法值?
- sql - 在 SQL 中将两条记录分组为一条记录
- java - 如何覆盖在另一个已继承的类中赋予值的变量
- excel - 如何在excel中的每一行中重复命令按钮
- react-native - 在Android@react-native 0.60.2 上运行项目,构建成功但没有任何反应
- python - 使用 python 写入一个单元格中包含多行的 csv 文件
- ruby - 错误:启动 jekyll 服务器时未初始化的常量 FFI::Platform::CPU